WongSaang/chatgpt-ui

Something went wrong. Please try again.(maybe CSRF problem)

Closed this issue · 4 comments

`
version: '3'
services:
client:
image: wongsaang/chatgpt-ui-client:latest
environment:
- SERVER_DOMAIN=http://backend-web-server
- NUXT_PUBLIC_APP_NAME='ChatGPT UI' # APP 名称
- NUXT_PUBLIC_TYPEWRITER=true # 是否开启 打字机 效果
- NUXT_PUBLIC_TYPEWRITER_DELAY=50 # 打字机效果的延迟时间,单位:毫秒,默认:100
depends_on:
- backend-web-server
ports:
- '4800:80'
networks:
- chatgpt_ui_network

backend-wsgi-server:
image: wongsaang/chatgpt-ui-wsgi-server:latest
environment:
- APP_DOMAIN="无论设置什么都同样的错误" # CSRF 白名单,在这里设置为 chatgpt-ui-web-server 的地址+端口, 默认: localhost:9000
- SERVER_WORKERS=2 # gunicorn 的工作进程数,默认为 3
- DB_URL=postgres://postgres:password@172.10.0.2:5432/chatgptui # 连接外部数据库,如果不设置这个参数,则默认使用内置的 Sqlite。需要注意的是,如果不连接外部数据库,数据将在容器销毁后丢失。链接格式请看下面的 DB_URL 格式对照表
#- OPENAI_API_PROXY=https://openai.proxy.com/v1 # https://api.openai.com/v1 的代理地址
- DJANGO_SUPERUSER_USERNAME=admin # 默认超级用户
- DJANGO_SUPERUSER_PASSWORD=password # 默认超级用户的密码
- DJANGO_SUPERUSER_EMAIL=xxxx@gmail.com # 默认超级用户邮箱
- ACCOUNT_EMAIL_VERIFICATION=none # 邮箱验证方式,可选值: none, optional, mandatory. 默认为 optional。如果你不需要验证用户的邮箱,可以设置为 none。
- '8800:8000'
networks:
- chatgpt_ui_network

backend-web-server:
image: wongsaang/chatgpt-ui-web-server:latest
environment:
- BACKEND_URL=http://backend-wsgi-server:8800
ports:
- '9900:80'
depends_on:
- backend-wsgi-server
networks:
- chatgpt_ui_network

networks:
chatgpt_ui_network:
external:
name: fixbridge`

登陆不进去,提示Something went wrong. Please try again.,我查看日志,是chatgpt-ui-backend-web-server报错,报错内容如下
2023/04/06 11:12:39 [error] 35#35: *3 connect() failed (111: Connection refused) while connecting to upstream, client: 172.10.0.6, server: localhost, request: "POST /api/account/login/ HTTP/1.1", upstream: "http://172.10.0.4:8800/api/account/login/", host: "backend-web-server", referrer: "http://xxx.com:4800/account/signin" 172.10.0.6 - - [06/Apr/2023:11:12:39 +0000] "POST /api/account/login/ HTTP/1.1" 502 559 "http://xxxx.com:4800/account/signin" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36" "-"

我在APP_DOMAIN尝试过
localhost:9900
localhost:4800
xxxx.com:9900
xxxx.com:4800
172.10.0.4:9900
172.10.0.4:4800
172.10.0.6:9900
172.10.0.6:4800

fixbridge网络是我自建的docker网络,自动分配172.10.0.0/16的ip,wsgi是172.10.0.4,web-server是172.10.0.5,client是172.10.0.6,xxx.com是我的域名,请问这样应该怎么设置APP_DOMAIN?

` version: '3' services: client: image: wongsaang/chatgpt-ui-client:latest environment: - SERVER_DOMAIN=http://backend-web-server - NUXT_PUBLIC_APP_NAME='ChatGPT UI' # APP 名称 - NUXT_PUBLIC_TYPEWRITER=true # 是否开启 打字机 效果 - NUXT_PUBLIC_TYPEWRITER_DELAY=50 # 打字机效果的延迟时间,单位:毫秒,默认:100 depends_on: - backend-web-server ports: - '4800:80' networks: - chatgpt_ui_network

backend-wsgi-server: image: wongsaang/chatgpt-ui-wsgi-server:latest environment: - APP_DOMAIN="无论设置什么都同样的错误" # CSRF 白名单,在这里设置为 chatgpt-ui-web-server 的地址+端口, 默认: localhost:9000 - SERVER_WORKERS=2 # gunicorn 的工作进程数,默认为 3 - DB_URL=postgres://postgres:password@172.10.0.2:5432/chatgptui # 连接外部数据库,如果不设置这个参数,则默认使用内置的 Sqlite。需要注意的是,如果不连接外部数据库,数据将在容器销毁后丢失。链接格式请看下面的 DB_URL 格式对照表 #- OPENAI_API_PROXY=https://openai.proxy.com/v1 # https://api.openai.com/v1 的代理地址 - DJANGO_SUPERUSER_USERNAME=admin # 默认超级用户 - DJANGO_SUPERUSER_PASSWORD=password # 默认超级用户的密码 - DJANGO_SUPERUSER_EMAIL=xxxx@gmail.com # 默认超级用户邮箱 - ACCOUNT_EMAIL_VERIFICATION=none # 邮箱验证方式,可选值: none, optional, mandatory. 默认为 optional。如果你不需要验证用户的邮箱,可以设置为 none。 - '8800:8000' networks: - chatgpt_ui_network

backend-web-server: image: wongsaang/chatgpt-ui-web-server:latest environment: - BACKEND_URL=http://backend-wsgi-server:8800 ports: - '9900:80' depends_on: - backend-wsgi-server networks: - chatgpt_ui_network

networks: chatgpt_ui_network: external: name: fixbridge`

登陆不进去,提示Something went wrong. Please try again.,我查看日志,是chatgpt-ui-backend-web-server报错,报错内容如下 2023/04/06 11:12:39 [error] 35#35: *3 connect() failed (111: Connection refused) while connecting to upstream, client: 172.10.0.6, server: localhost, request: "POST /api/account/login/ HTTP/1.1", upstream: "http://172.10.0.4:8800/api/account/login/", host: "backend-web-server", referrer: "http://xxx.com:4800/account/signin" 172.10.0.6 - - [06/Apr/2023:11:12:39 +0000] "POST /api/account/login/ HTTP/1.1" 502 559 "http://xxxx.com:4800/account/signin" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36" "-"

我在APP_DOMAIN尝试过 localhost:9900 localhost:4800 xxxx.com:9900 xxxx.com:4800 172.10.0.4:9900 172.10.0.4:4800 172.10.0.6:9900 172.10.0.6:4800

fixbridge网络是我自建的docker网络,自动分配172.10.0.0/16的ip,wsgi是172.10.0.4,web-server是172.10.0.5,client是172.10.0.6,xxx.com是我的域名,请问这样应该怎么设置APP_DOMAIN?

Set it to

  • APP_DOMAIN=xxx.yyy.zzz

看下 backend-wsgi-server 的日志,
在 backend-wsgi-server 下添加环境变量 DEBUG=True , 会显示错误日志

看下 backend-wsgi-server 的日志, 在 backend-wsgi-server 下添加环境变量 DEBUG=True , 会显示错误日志

添加DEBUG=True后没有多出任何日志

version: '3' services: client: image: wongsaang/chatgpt-ui-client:latest environment: - SERVER_DOMAIN=http://backend-web-server - NUXT_PUBLIC_APP_NAME='ChatGPT UI' # APP 名称 - NUXT_PUBLIC_TYPEWRITER=true # 是否开启 打字机 效果 - NUXT_PUBLIC_TYPEWRITER_DELAY=50 # 打字机效果的延迟时间,单位:毫秒,默认:100 depends_on: - backend-web-server ports: - '4800:80' networks: - chatgpt_ui_network backend-wsgi-server: image: wongsaang/chatgpt-ui-wsgi-server:latest environment: - APP_DOMAIN="无论设置什么都同样的错误" # CSRF 白名单,在这里设置为 chatgpt-ui-web-server 的地址+端口, 默认: localhost:9000 - SERVER_WORKERS=2 # gunicorn 的工作进程数,默认为 3 - DB_URL=postgres://postgres:password@172.10.0.2:5432/chatgptui # 连接外部数据库,如果不设置这个参数,则默认使用内置的 Sqlite。需要注意的是,如果不连接外部数据库,数据将在容器销毁后丢失。链接格式请看下面的 DB_URL 格式对照表 #- OPENAI_API_PROXY=https://openai.proxy.com/v1 # https://api.openai.com/v1 的代理地址 - DJANGO_SUPERUSER_USERNAME=admin # 默认超级用户 - DJANGO_SUPERUSER_PASSWORD=password # 默认超级用户的密码 - DJANGO_SUPERUSER_EMAIL=[xxxx@gmail.com](mailto:xxxx@gmail.com) # 默认超级用户邮箱 - ACCOUNT_EMAIL_VERIFICATION=none # 邮箱验证方式,可选值: none, optional, mandatory. 默认为 optional。如果你不需要验证用户的邮箱,可以设置为 none。 - '8800:8000' networks: - chatgpt_ui_network backend-web-server: image: wongsaang/chatgpt-ui-web-server:latest environment: - BACKEND_URL=http://backend-wsgi-server:8800 ports: - '9900:80' depends_on: - backend-wsgi-server networks: - chatgpt_ui_network networks: chatgpt_ui_network: external: name: fixbridge
登陆不进去,提示Something went wrong. Please try again.,我查看日志,是chatgpt-ui-backend-web-server报错,报错内容如下 2023/04/06 11:12:39 [error] 35#35: *3 connect() failed (111: Connection refused) while connecting to upstream, client: 172.10.0.6, server: localhost, request: "POST /api/account/login/ HTTP/1.1", upstream: "http://172.10.0.4:8800/api/account/login/", host: "backend-web-server", referrer: "http://xxx.com:4800/account/signin" 172.10.0.6 - - [06/Apr/2023:11:12:39 +0000] "POST /api/account/login/ HTTP/1.1" 502 559 "http://xxxx.com:4800/account/signin" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36" "-"
我在APP_DOMAIN尝试过 localhost:9900 localhost:4800 xxxx.com:9900 xxxx.com:4800 172.10.0.4:9900 172.10.0.4:4800 172.10.0.6:9900 172.10.0.6:4800
fixbridge网络是我自建的docker网络,自动分配172.10.0.0/16的ip,wsgi是172.10.0.4,web-server是172.10.0.5,client是172.10.0.6,xxx.com是我的域名,请问这样应该怎么设置APP_DOMAIN?

Set it to

  • APP_DOMAIN=xxx.yyy.zzz

还是不行,我甚至在腾讯云上新建了一个反代,之前的xxxx.com:4800是我路由器的网址,反代域名yyyy.com,我设置了
APP_DOMAIN=xxxx.com
APP_DOMAIN=xxxx.com:4800
APP_DOMAIN=yyyy.com
还是都不行