WongSaang / chatgpt-ui

A ChatGPT web client that supports multiple users, multiple languages, and multiple database connections for persistent data storage. Provides Docker images and quick deployment scripts.
https://wongsaang.github.io/chatgpt-ui/
MIT License
1.51k stars 333 forks source link

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

Closed princelai closed 1 year ago

princelai commented 1 year ago

` version: '3' services: client: image: wongsaang/chatgpt-ui-client:latest environment:

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?

spencerwongfeilong commented 1 year ago

` 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

WongSaang commented 1 year ago

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

princelai commented 1 year ago

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

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

princelai commented 1 year ago

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 还是都不行