ChatGPT-Next-Web icon indicating copy to clipboard operation
ChatGPT-Next-Web copied to clipboard

[Bug] 使用时有几率api报错,UND_ERR_CONNECT_TIMEOUT

Open Dx-hualuo opened this issue 1 year ago • 1 comments

错误描述 修改Base Url到自己反向代理vps上(纽约),可能会发生错误(随机性,有请求成功的时候) 上述反代地址在其他开源chatgpt上使用时没有发生过报错,使用稳定且快速。

Bug复现

  1. 新建 .env.local 文件,并写入OPENAI_API_KEY,CODE,BASE_URL,BASE_URL为自己的nginx反向代理openai的服务器。
  2. yarn install
  3. yarn run build
  4. yarn run start
  5. 启用nginx,反向代理SSL到9421端口
  6. 打开网页https://*****:9421,输入访问密匙(code)
  7. 输入"你是谁",并发送

期望 使请求变得稳定,每次请求都可以正常完成,而不是有几率完成

截图 1682343491948 image

部署方式 [×] Docker [×] Vercel [√] Server

使用yarn run start启动项目到3000端口,再使用nginx进行反向代理将http套用SSL证书至https。 nginx配置如下

server {
    listen 9421 ssl;
    listen [::]:9421 ssl ipv6only=on;
    #填写绑定证书的域名
    server_name ****; 
    #启用 SSL 功能
    ssl on;
    #证书文件名称
    ssl_certificate ****.crt;
    #私钥文件名称
    ssl_certificate_key ****.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    client_max_body_size 1024m;

    add_header Strict-Transport-Security "max-age=31536000";

    location / {
        proxy_pass  http://127.0.0.1:3000/;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_read_timeout 3000s;
        proxy_send_timeout 3000s;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

桌面设备

  • 系统: Windows 11 专业版
  • 浏览器: Microsoft Edge 版本 106.0.1370.47 (正式版本) (64 位)
  • 版本: 21H2 22000.1817

手机

  • Device: 红米K30s Ultra
  • OS: MIUI 14.0.5
  • Browser: Microsoft Edge 111.0.1661.59
  • Version: Android 12

其他日志

[Auth] allowed hashed codes:  [
  '',
  ''
]
[Auth] got access code: 
[Auth] hashed access code: 
[User IP]  111.78.104.112
[Time]  2023/4/24 21:54:13
[Auth] set system token
[Proxy]  v1/chat/completions
[Base Url] https://****/
[Chat Stream]  [TypeError: fetch failed] {
  cause:  [ConnectTimeoutError: Connect Timeout Error] {
  name: 'ConnectTimeoutError',
  code: 'UND_ERR_CONNECT_TIMEOUT',
  message: 'Connect Timeout Error'
}
}

望解决!

Dx-hualuo avatar Apr 24 '23 14:04 Dx-hualuo

你在安装chatgpt next web的服务器上多运行几次命令:

curl -i https://[your api server]/

看看稳定性如何

yinm0591 avatar Apr 24 '23 15:04 yinm0591

无法复现,建议使用 docker 配合 PROXY_URL 部署

Yidadaa avatar Apr 25 '23 06:04 Yidadaa