869413421/chatgpt-web

页面空白啥也没有

zhangzq opened this issue · 24 comments

查看console出现一个js错误:POST http://localhost:8080/auth/info net::ERR_CONNECTION_REFUSED。

然后如果部署了域名,也是 post 到localhost。

提供下你运行的平台以及其他信息

我也遇到了相同的问题
部署方式是
使用readme文档提供的命令docker run的容器
然后服务器通过反向代理

location ~ {
    proxy_pass http://127.0.0.1:8080;
}

查看console出现一个js错误:POST http://localhost:8080/auth/info net::ERR_CONNECTION_REFUSED。

然后如果部署了域名,也是 post 到localhost。

控制台有错误信息吗

我也遇到这个问题了
Request URL: http://localhost:8080/auth/info
Request Method: POST
Status Code: 404 Not Found
Referrer Policy: strict-origin-when-cross-origin

查看console出现一个js错误:POST http://localhost:8080/auth/info net::ERR_CONNECTION_REFUSED。
然后如果部署了域名,也是 post 到localhost。

控制台有错误信息吗

部署在本地还是服务器?

部署在云服务器

我也遇到了同样的问题,症状是输入用户名和密码后,打开了一个空白页面,查看后面的请求,显示在请求一个localhost的用户信息地址失败:http://localhost:8080/auth/info, 看起来这个地址的域名没有被替换为我的域名,但我也没在配置里找到。

希望能帮我解答一些,应该如何配置? @869413421

具体配置信息:
部署在VPS上,centos7,使用docker与配置文件的方式,用nginx挂在一个子域名上,
配置文件

{
  "api_key": "my key",
  "api_url": "",
  "port": 8080,
  "listen": "",
  "bot_desc": "你是一个AI助手,我需要你来回答我的问题。",
  "proxy": "",
  "model": "gpt-3.5-turbo-0301",
  "max_tokens": 512,
  "temperature": 0.9,
  "top_p": 1,
  "frequency_penalty": 0.0,
  "presence_penalty": 0.6,
  "auth_user": "my username",
  "auth_password": "my passwd"
}

使用的docker命令,在config.json所在目录下运行下面命令:

docker run -itd --name chatgpt-web -v `pwd`/config.json:/app/config.json -p 8080:8080 qingshui869413421/chatgpt-web:latest

nginx 配置

server {
        listen 443 ssl; # managed by Certbot
        server_name mydomain;

      
        location /web/ {
            auth_basic "Auth Require";
            # 认证配置文件 格式请参考 https://nginx.org/en/docs/http/ngx_http_auth_basic_module.html
            # 这里我生成了一个加密后的用户名密码文件
            auth_basic_user_file /home/conf/passwd;

            # 反向代理 假设chatgpt-web监听端口为8080
            proxy_pass http://127.0.0.1:8080/;
            proxy_http_version 1.1;
            # 反向代理超时时间设定(OpenAI的反应比较慢,设定为120秒后才超时)
            proxy_read_timeout 120s;

            # 将index.html中的绝对路径更改为相对路径
            sub_filter 'src="/' 'src="';
            sub_filter 'href="/' 'href="';
            sub_filter_types text/html;
            sub_filter_once off;

        }
}

我也遇到了同样的问题,症状是输入用户名和密码后,打开了一个空白页面,查看后面的请求,显示在请求一个localhost的用户信息地址失败:http://localhost:8080/auth/info, 看起来这个地址的域名没有被替换为我的域名,但我也没在配置里找到。

希望能帮我解答一些,应该如何配置? @869413421

具体配置信息:
部署在VPS上,centos7,使用docker与配置文件的方式,用nginx挂在一个子域名上,
配置文件

{
  "api_key": "my key",
  "api_url": "",
  "port": 8080,
  "listen": "",
  "bot_desc": "你是一个AI助手,我需要你来回答我的问题。",
  "proxy": "",
  "model": "gpt-3.5-turbo-0301",
  "max_tokens": 512,
  "temperature": 0.9,
  "top_p": 1,
  "frequency_penalty": 0.0,
  "presence_penalty": 0.6,
  "auth_user": "my username",
  "auth_password": "my passwd"
}

使用的docker命令,在config.json所在目录下运行下面命令:

docker run -itd --name chatgpt-web -v `pwd`/config.json:/app/config.json -p 8080:8080 qingshui869413421/chatgpt-web:latest

nginx 配置

server {
        listen 443 ssl; # managed by Certbot
        server_name mydomain;

      
        location /web/ {
            auth_basic "Auth Require";
            # 认证配置文件 格式请参考 https://nginx.org/en/docs/http/ngx_http_auth_basic_module.html
            # 这里我生成了一个加密后的用户名密码文件
            auth_basic_user_file /home/conf/passwd;

            # 反向代理 假设chatgpt-web监听端口为8080
            proxy_pass http://127.0.0.1:8080/;
            proxy_http_version 1.1;
            # 反向代理超时时间设定(OpenAI的反应比较慢,设定为120秒后才超时)
            proxy_read_timeout 120s;

            # 将index.html中的绝对路径更改为相对路径
            sub_filter 'src="/' 'src="';
            sub_filter 'href="/' 'href="';
            sub_filter_types text/html;
            sub_filter_once off;

        }
}

浏览器控制台有错误信息吗?

应该是前端兼容性的问题,我尝试复现修复。

hceasy commented

图片
前端页面里哪句请求写成静态了?

@869413421 错误信息和 @hceasy 截图的是一样的

我也是,直接8080打开都不行。ubuntu 22.04.wget release部署。

提供下你运行的平台以及其他信息

本地windows/ubuntu subsystem部署、ubuntu云服务器部署都不行。上面很多人反馈了同样信息,我遇到的问题也是一样的。

@869413421 我想应该是某一个版本引入的问题,在修复前,可以告知下载哪个版本是可用的吗?

hceasy commented

临时解决方案
将/assets/index-74d55ae0.js 中两个localhost 替换为自己的域名,可正常访问.

已经修复,打包时不谨慎没注释调试参数,直接发布出去。请使用最新镜像和发布版本。

@869413421 我想应该是某一个版本引入的问题,在修复前,可以告知下载哪个版本是可用的吗?

修复了,用最新的可以了。

@869413421 我想应该是某一个版本引入的问题,在修复前,可以告知下载哪个版本是可用的吗?

修复了,用最新的可以了。

@869413421

还有两个小问题,但我已经想办法绕过并启动了,作者如果有空的话可以修复一下。除了这个,还有个需要看看的问题。

  1. 现在的后续的auth info地址虽然不再使用localhost地址了,但是应该是读了本地绑定的域名,但如果我把这个服务绑定在域名后的/web endpoint后面,后续的调用依旧会错误。所以我现在先运行在根路径下。
  2. 关于同时使用nginx和 chatgpt-web的朋友,作者很贴心的给了一个配置,这个配置里介绍了使用nginx自带的密码保护这个路径的方法,这个功能其实和服务本身的登录功能上重复了,而且配置后会导致循环的请求鉴权,不如直接去掉。

下面是一个关键的问题
3. 我登录后,开始聊天,但是一直不返回。我看了下docker log,没什么日志,不知道是出了什么问题,我测试了一下在这台机器上使用这个token访问是没问题的。

最后感谢作者的辛勤贡献,感谢!

@869413421 我想应该是某一个版本引入的问题,在修复前,可以告知下载哪个版本是可用的吗?

修复了,用最新的可以了。

@869413421

还有两个小问题,但我已经想办法绕过并启动了,作者如果有空的话可以修复一下。除了这个,还有个需要看看的问题。

  1. 现在的后续的auth info地址虽然不再使用localhost地址了,但是应该是读了本地绑定的域名,但如果我把这个服务绑定在域名后的/web endpoint后面,后续的调用依旧会错误。所以我现在先运行在根路径下。
  2. 关于同时使用nginx和 chatgpt-web的朋友,作者很贴心的给了一个配置,这个配置里介绍了使用nginx自带的密码保护这个路径的方法,这个功能其实和服务本身的登录功能上重复了,而且配置后会导致循环的请求鉴权,不如直接去掉。

下面是一个关键的问题 3. 我登录后,开始聊天,但是一直不返回。我看了下docker log,没什么日志,不知道是出了什么问题,我测试了一下在这台机器上使用这个token访问是没问题的。

最后感谢作者的辛勤贡献,感谢!

docker使用了supervisord管理进程,日志输出在容器内的run.log。

@869413421 我想应该是某一个版本引入的问题,在修复前,可以告知下载哪个版本是可用的吗?

修复了,用最新的可以了。

@869413421
还有两个小问题,但我已经想办法绕过并启动了,作者如果有空的话可以修复一下。除了这个,还有个需要看看的问题。

  1. 现在的后续的auth info地址虽然不再使用localhost地址了,但是应该是读了本地绑定的域名,但如果我把这个服务绑定在域名后的/web endpoint后面,后续的调用依旧会错误。所以我现在先运行在根路径下。
  2. 关于同时使用nginx和 chatgpt-web的朋友,作者很贴心的给了一个配置,这个配置里介绍了使用nginx自带的密码保护这个路径的方法,这个功能其实和服务本身的登录功能上重复了,而且配置后会导致循环的请求鉴权,不如直接去掉。

下面是一个关键的问题 3. 我登录后,开始聊天,但是一直不返回。我看了下docker log,没什么日志,不知道是出了什么问题,我测试了一下在这台机器上使用这个token访问是没问题的。
最后感谢作者的辛勤贡献,感谢!

docker使用了supervisord管理进程,日志输出在容器内的run.log。

@869413421
你好, 我进容器找到了run.log,里面有一些access log, 但没有request log,没找到什么有用的信息。
我打开浏览器的console后,看到了报错,看起来,这个网页并没有去调用api,而是用的chat.openai.com/compeletion,使用的是网页版本的chatgpt,而不是项目文档中说的接口。感觉要么是机制不是用api,而是网页,要么就是根域名写错了。
我尝试修改了配置中的api访问地址,到可以使用的接口域名,但没有作用,这个页面依旧是去访问网页版本的chatgpt,而不是接口。
报错信息如下:

CleanShot 2023-03-29 at 11 27 16

@869413421 我想应该是某一个版本引入的问题,在修复前,可以告知下载哪个版本是可用的吗?

修复了,用最新的可以了。

@869413421
还有两个小问题,但我已经想办法绕过并启动了,作者如果有空的话可以修复一下。除了这个,还有个需要看看的问题。

  1. 现在的后续的auth info地址虽然不再使用localhost地址了,但是应该是读了本地绑定的域名,但如果我把这个服务绑定在域名后的/web endpoint后面,后续的调用依旧会错误。所以我现在先运行在根路径下。
  2. 关于同时使用nginx和 chatgpt-web的朋友,作者很贴心的给了一个配置,这个配置里介绍了使用nginx自带的密码保护这个路径的方法,这个功能其实和服务本身的登录功能上重复了,而且配置后会导致循环的请求鉴权,不如直接去掉。

下面是一个关键的问题 3. 我登录后,开始聊天,但是一直不返回。我看了下docker log,没什么日志,不知道是出了什么问题,我测试了一下在这台机器上使用这个token访问是没问题的。
最后感谢作者的辛勤贡献,感谢!

docker使用了supervisord管理进程,日志输出在容器内的run.log。

@869413421
你好, 我进容器找到了run.log,里面有一些access log, 但没有request log,没找到什么有用的信息。
我打开浏览器的console后,看到了报错,看起来,这个网页并没有去调用api,而是用的chat.openai.com/compeletion,使用的是网页版本的chatgpt,而不是项目文档中说的接口。感觉要么是机制不是用api,而是网页,要么就是根域名写错了。
我尝试修改了配置中的api访问地址,到可以使用的接口域名,但没有作用,这个页面依旧是去访问网页版本的chatgpt,而不是接口。
报错信息如下:

CleanShot 2023-03-29 at 11 27 16

这个是项目的路由,根据你的图片中的信息接口返回了403。是因为登录信息过期导致的,尝试清空cookie操作。

@869413421
我的问题,是nginx配置的一个转发导致的,现在正常了,感谢!

求助,我现在也是这样的。 我的服务器配置较低,所以直接跑nginx 和 二进制文件,服务用IP 和端口访问没有问题, 用域名和反代出现错误。
1680079363(1)
我的nginx 相关配置
1680079427(1)