linweiyuan / go-chatgpt-api

一个尝试绕过 Cloudflare 来使用 ChatGPT 接口的程序
MIT License
1.43k stars 445 forks source link

频繁出现 [OpenAI] 服务器拒绝访问,请稍后再试 | Server refused to access, please try again later #93

Closed huangwb8 closed 1 year ago

huangwb8 commented 1 year ago

我很早就开始使用本项目了 (ฅ´ω`ฅ)

昨天我看到本项目的更新,即不再需要chatgpt-proxy-server,所以我尝试了最新的方案。

我使用的go-chatgpt-api版本是:

[
    {
        "Id": "952e6c260ebd9c6c812836b93cc96308c11be589800a85ba4ce9f29f377f52be",
        "Created": "2023-04-29T23:54:32.930107483Z",
        "Path": "/app/go-chatgpt-api",
        "Args": [],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 466863,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2023-04-29T23:54:34.372380033Z",
            "FinishedAt": "0001-01-01T00:00:00Z"
        },
        "Image": "sha256:52df78ab127aafeccae0c2d8ae2d2415cf9e4e752258385f3c93888480f109fc",
        ...
    }
]

但是,我发现它会频繁出现报错: [OpenAI] 服务器拒绝访问,请稍后再试 | Server refused to access, please try again later。刷新一下可以正常输出。这和以前我们直接访问网页时非常相似。 我感觉没有之前使用chatgpt-proxy-server的时候稳定。

不知大家有没有这种情况?

huangwb8 commented 1 year ago

最新的版本正常了,没有403了,赞

我也正在试用该版本:

[
    {
        "Id": "sha256:6b06c75ce544e2cb32f4382c0a41c577deafc86a81bd36c4312b7814e485bbcb",
        "RepoTags": [
            "linweiyuan/go-chatgpt-api:latest"
        ],
        "RepoDigests": [
            "linweiyuan/go-chatgpt-api@sha256:2fa1981dda573913dd8b1e82819fcb0e2ca49e65a158c8a10cb44341da31c897"
        ],
        "Parent": "",
        "Comment": "buildkit.dockerfile.v0",
        "Created": "2023-05-02T14:49:22.738522389Z",
        ...
    }
]

有什么意见再来反馈吧 (ฅ´ω`ฅ)

Neillife commented 1 year ago

经过测试,总结了这么几个情况:

  • 本地镜像+魔法,正常
  • 本地二进制+魔法,正常
  • 服务器上镜像+魔法,正常
  • 服务器上二进制+魔法,正常
  • 服务器上镜像+WARP,有时 403 但重试 200,有时一直 200
  • 服务器上二进制+WARP,一直 403

目前来看,本地跑或者服务器上加魔法是最稳的,上了 warp 就会 403 (不上也会 403,但那个是 1020)

服务器 403 的时候输出的 IP 地址也是 Cloudflare 的地址,但少了个 cookie:_cfuvid

目前来看,问题出现在 warp 上,但是我并不熟这个东西,所以可能会尝试用一些奇怪的方法来修复

有兴趣可以找那些一键 warp 脚本试下好不好使,还没试过

相同 warp 镜像,旧版为什么可以,也不清楚

在新版本的 commit 中新增使用了新的Endpoint, 並在初始化時,設置每 10 分鐘 執行一次訪問Endpoint,拿出 __cf_bm。 而後在原先的 healthCheck 中新增了 injectCookies 來設置 __cf_bm Cookies。 想請問是因為針對使用 WARP 代理轉發的用戶做的改動嗎? 程式邏輯中似乎沒有對未使用 WARP 用戶處理,會一直訪問 Endpoint。 有點怕作者的 Endpoint 被打壞 :hushed:

linweiyuan commented 1 year ago

@Neillife 今天我在测试调整 10 分钟时间,比如 28 29,Cloudflare 官方说 30 分钟会过期,还没测好,每次测试要等半小时有点耗时间

没有针对 warp,测试中本地跑部分节点也会有 403,似乎和出口 IP 有关,这个时候通过该节点出去打开官网会触发验证码,启动 200 的就是没有验证码

不怕被打坏,设置了 rate limit,况且从日志看,也没太多请求过来,服务器流量每个月也用不完

Neillife commented 1 year ago

@Neillife 今天我在测试调整 10 分钟时间,比如 28 29,Cloudflare 官方说 30 分钟会过期,还没测好,每次测试要等半小时有点耗时间

没有针对 warp,测试中本地跑部分节点也会有 403,似乎和出口 IP 有关,这个时候通过该节点出去打开官网会触发验证码,启动 200 的就是没有验证码

不怕被打坏,设置了 rate limit,况且从日志看,也没太多请求过来,服务器流量每个月也用不完

感覺還是跟有沒有被牆有關... 因為自己本身沒有牆不牆的問題,所以關於牆不牆的問題,不太清楚有沒有關係。 😯

但是自己的 windows 不用 docker 跑代理的 server 放到現在只遇過一兩次 403 而已 不管是舊版用 chromedriver ,和新版不用 chromedriver 的版本,都很穩定。

FastSchnell commented 1 year ago

@linweiyuan 这种新的api调用方式,token必须来自plus账户吗

linweiyuan commented 1 year ago

@FastSchnell 不是,普通账户即可

linweiyuan commented 1 year ago

@Neillife 是和节点有关,但是时间有点随机,我现在用部分香港节点测试,有时 403 有时 200,但是日本、新加坡、台湾、马来西亚的节点,目前全是 200

你没遇到,大概是因为你本身就是直连而不是通过一些 VPS 或者机场出去,家庭网络判定不为 bot(猜的)

Neillife commented 1 year ago

Hi~ @linweiyuan

有些問題想請問一下,有點不太明白訪問端點後,拿到 __cf_bm 設定 cookie 的用意是什麼? 看了一下官方文檔,似乎是說掛上這個 cookie 後,訪問有受到 Cloudflare 機器人認證的網站不會觸發認證。 (如果我理解正確的話) 是因為用戶在使用代理訪問 openai 403 觸發認證的關係才使用 __cf_bm cookie 的嗎?

謝謝你為 ChatGPT 社群保持活力 :upside_down_face:

linweiyuan commented 1 year ago

差不多是这样

不设置 __cf_bm 的话,部分节点会 403,而给本来就是 200 的节点设置上,也不会有额外影响

huangwb8 commented 1 year ago

emm...latest方案对我来说又不太有效了。 还是不得不回退到旧的版本。

顺便一提,linweiyuan/go-chatgpt-api:legacy的最新版与最初的版本是不一样的。 现在的版本会导致服务器CPU爆满。

我现在使用的是自建的旧版。 难受 Σ( ° △ °|||)︴

nephen commented 1 year ago

emm...latest方案对我来说又不太有效了。 还是不得不回退到旧的版本。

顺便一提,linweiyuan/go-chatgpt-api:legacy的最新版与最初的版本是不一样的。 现在的版本会导致服务器CPU爆满。

我现在使用的是自建的旧版。 难受 Σ( ° △ °|||)︴

自建的是基于哪个commit的?

linweiyuan commented 1 year ago

https://github.com/linweiyuan/go-chatgpt-api/issues/108#issuecomment-1537442756

huangwb8 commented 1 year ago

@nephen

我使用的是 https://github.com/linweiyuan/go-chatgpt-api/tree/2a7b38e39dd8635c6961a6346c56ced2e7539d63 。 不过,旧的镜像似乎也不太管用了。 我在想是不是openai的验证机制发生了变化,导致原有的项目不生效了。

我的应用场景是go-chatgpt-api + WARP,美国西部的RackNerd VPS。 403错误在重启go-chatgpt-api后偶尔可解决,但很快会重新出现。

nephen commented 1 year ago

@huangwb8 我使用的https://github.com/linweiyuan/go-chatgpt-api/tree/e13ed26021f74d0c7e6779c50f78c4898e3f81d2,目前跑了很长时间了,一直正常,我的前端页面是https://dyhlyb.com/chat,不过我没有加并发处理,所以一次只能请求一个,其他人得等待,这样cpu一直是正常的

huangwb8 commented 1 year ago

@nephen

https://github.com/linweiyuan/go-chatgpt-api/tree/2a7b38e39dd8635c6961a6346c56ced2e7539d63 暂时似乎是正常的。 旧版本还是稳。 新版本一直是不稳的,哎,难受 (ฅ´ω`ฅ)

njukiller commented 1 year ago

@nephen

https://github.com/linweiyuan/go-chatgpt-api/tree/2a7b38e39dd8635c6961a6346c56ced2e7539d63 暂时似乎是正常的。 旧版本还是稳。 新版本一直是不稳的,哎,难受 (ฅ´ω`ฅ)

请问下这个版本的docker image是哪个?是legacy?还是别的?

huangwb8 commented 1 year ago

@nephen https://github.com/linweiyuan/go-chatgpt-api/tree/2a7b38e39dd8635c6961a6346c56ced2e7539d63 暂时似乎是正常的。 旧版本还是稳。 新版本一直是不稳的,哎,难受 (ฅ´ω`ฅ)

请问下这个版本的docker image是哪个?是legacy?还是别的?

go-chatgpt-api的新版本一直不稳定,“频繁出现服务器拒绝访问,请稍后再试 ”的bug一直存在。 推荐大家使用的旧版本 (ddsderek/go-chatgpt-api)过渡,需要chatgpt-proxy-server,路由是旧的/conversation。长期保留旧版本教程。详见“(旧版本)Access Token自建ChatGPT”小节。

我请小伙伴在不久前搞的镜像。但没想到还能用上 (ฅ´ω`ฅ)