GaiZhenbiao / ChuanhuChatGPT

GUI for ChatGPT API and many LLMs. Supports agents, file-based QA, GPT finetuning and query with web search. All with a neat UI.

Home Page:https://huggingface.co/spaces/JohnSmith9982/ChuanhuChatGPT

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

网站设置登录账号密码后`Connection errored out`

peiyun1982 opened this issue · comments

海外服务器,不用账号密码部署是OK的。(下图红框里是OK的)
如果设置了账号密码,访问服务器的时候会出现登录界面。但是提问时会报错。(下图蓝框里的写法都会报错)
微信截图_20230309114710
微信截图_20230309114538
想问一下这里改如何正确修改,

端口 92 用于 npp 协议,端口 93 用于dcp 协议。不要设定小于1000的端口号。

端口 92 用于 npp 协议,端口 93 用于dcp 协议。不要设定小于1000的端口号。

是端口冲突导致的问题?
可是如果不用账号密码访问,这些端口连GPT都是ok的。
总之我去修改到1000以上试一下

端口 92 用于 npp 协议,端口 93 用于dcp 协议。不要设定小于1000的端口号。

改了1010也不行,还是一样的问题

同样遇到了这个问题,设置了账户密码就会出现 something went wrong

多试几个端口号?我在我自己的服务器上部署的时候,也设置了密码,但是没有任何问题。能提供更详细的信息吗?

用127.0.0.1 本地调试的时候设置密码也可以登陆使用,使用公网ip启动之后,访问就会异常(但是后端没有报错,前端看点击发送按钮后,报ws连接错误,WebSocket connection to 'ws://xxxxxxxxxxxx:8099/queue/join' failed: )公网启动不设置账户密码就可以正常用

检查一下Nginx配置有无错误

没有做nginx配置,直接ip访问

微信截图_20230309114710

首先,图中的写法哪个是正确的?
demo.queue().launch(server_name="0.0.0.0", server_port=1010, auth=("aaa", "bbb")) # 可设置用户名与密码
或者
demo.queue().launch(server_name="0.0.0.0", server_port=1010, share=True, auth=("aaa", "bbb")) # 可设置用户名与密码

因为我的服务器会提示那个8080端口被占用的问题,除了那个之外并没有看到其他问题。
网页是可以出现登陆界面的。用aaa和bbb也能正常登录。
但是无论输入任何问题,点击回车之后就会出现下图的问题。
微信截图_20230309114538
如果用这样的配置,就没有问题,可以正常提问
demo.queue().launch(server_name="0.0.0.0", server_port=1010, share=True) # 可设置用户名与密码

我也是用 IP:端口 直接访问的海外服务器(亚马逊)

是的,同样遇到问题。我总结目前最佳使用方案: docker安装(直接可以服务器公网ip+端口)+ 容器修改py文件隐藏api输入框。
但是设置密码,反向代理都是遇到something went wrong。
如果是py直接运行,那么服务器不能用公网ip+端口访问,反向就更不要想了。
希望大佬辛苦,在docker安装命令,加入设置密码,还有解决127.0.0.1倍代理,无法访问后端的问题。

image

image
看起来是ws 连接 cookie里面access-token没有取到,用ip直接访问拿到是access-token-unsecure,原来写的是access-token,routes.py文件里这个临时改下能用

commented

image

image 看起来是ws 连接 cookie里面access-token没有取到,用ip直接访问拿到是access-token-unsecure,原来写的是access-token,routes.py文件里这个临时改下能用

遇到了同样的问题,本地部署时设置密码,一切都是正常的。在VPS上部署时,登陆之后就会显示“Connection errored out", 但是如果ssh把端口转发到本地,再用浏览器访问也是正常的。
按照你的方法修改 /usr/local/lib/python3.9/dist-packages/gradio/routes.py 之后就正常了。

commented

image
image 看起来是ws 连接 cookie里面access-token没有取到,用ip直接访问拿到是access-token-unsecure,原来写的是access-token,routes.py文件里这个临时改下能用

遇到了同样的问题,本地部署时设置密码,一切都是正常的。在VPS上部署时,登陆之后就会显示“Connection errored out", 但是如果ssh把端口转发到本地,再用浏览器访问也是正常的。 按照你的方法修改 /usr/local/lib/python3.9/dist-packages/gradio/routes.py 之后就正常了。

嗯,按照这个修改后就行了...

nginx反代,无账号密码,首次提问会提示Connection errored, 刷新后重新再问就好了,暂时不乱改了,刷新再用就好了。

Docker 部署后,进入容器, 在 /usr/local/lib/python3.9/dist-packages/ 是空的,根本找不到 : gradio/routes.py ,修改就谈不上了......

Docker 部署后,进入容器, 在 /usr/local/lib/python3.9/dist-packages/ 是空的,根本找不到 : gradio/routes.py ,修改就谈不上了......

Dockerfile 里面在 CMD 之前加这行,重修 build 一下 image。Docker 公网部署,亲测成功。

RUN sed -i 's/websocket\.cookies\.get("access-token")/websocket.cookies.get("access-token-unsecure")/' /root/.local/lib/python3.9/site-packages/gradio/routes.py
commented

Docker 部署后,进入容器, 在 /usr/local/lib/python3.9/dist-packages/ 是空的,根本找不到 : gradio/routes.py ,修改就谈不上了......

Dockerfile 里面在 CMD 之前加这行,重修 build 一下 image。Docker 公网部署,亲测成功。

RUN sed -i 's/websocket\.cookies\.get("access-token")/websocket.cookies.get("access-token-unsecure")/' /root/.local/lib/python3.9/site-packages/gradio/routes.py

感谢思路,使用一下命令解决了:
docker exec [你的容器ID] sed -i 's/websocket\.cookies\.get("access-token")/websocket.cookies.get("access-token-unsecure")/' /usr/local/lib/python3.9/site-packages/gradio/routes.py(注意路径)

Docker 部署后,进入容器, 在 /usr/local/lib/python3.9/dist-packages/ 是空的,根本找不到 : gradio/routes.py ,修改就谈不上了......

Dockerfile 里面在 CMD 之前加这行,重修 build 一下 image。Docker 公网部署,亲测成功。

RUN sed -i 's/websocket\.cookies\.get("access-token")/websocket.cookies.get("access-token-unsecure")/' /root/.local/lib/python3.9/site-packages/gradio/routes.py

按以上方法重新生成镜像后,成功解决问题,非常感谢!

commented

Gradio ISSUE: gradio-app/gradio#3716

我们发现问题和解决办法的提出的比他们早😂

我也出现这个问题,搞的只好放弃设置账号密码。

docker 镜像的建议改动路径如下:
1、进入正在运行的容器
docker exec -it container-id bash
sed -i 's/websocket.cookies.get("access-token")/websocket.cookies.get("access-token-unsecure")/' /root/.local/lib/python3.9/site-packages/gradio/routes.py
exit
2、commit 成最新镜像包,防止下次重启有问题
docker commit container-id chatgpt-chuanhu:latest
3、停止并删除之前正在运行的container
docker rm chatgpt -f
4、启动的时候使用最新的镜像即可(apihost不需要带协议,踩坑了……)
docker run -d --name chatgpt
-e my_api_key="sk-xxx"
-e api_host="abc.1232.com" \
-e USERNAME="123"
-e PASSWORD="312@3131321"
-v ~/chatGPThistory:/app/history
-p xxxx:7860
chatgpt-chuanhu:latest

问题还是存在

@liutaocode 我们确信使用新版本的gradio之后原始问题已被解决,而且我们新版本的程序不再使用当时的config设置,这里提供的解决办法已经不再适用。如果你还遇到类似的问题,请开启一个新的issue,并提供更详细的说明。