ChatGPT 闲置几分钟出现 Something went wrong 问题详细测试报告和解决方案
近期有客户反馈 ChatGPT 聊天界面闲置几分钟甚至更短时间会出现 Something went wrong 的错误必须刷新页面才能继续使用
报错信息如下
我们进行了详细的测试,看看能否找出是哪里的问题
首先准备测试环境,这里准备了 Windows 电脑的 Chrome 浏览器
另一台 Mac 电脑的 Safari 浏览器,二个浏览器测试前均清空浏览器缓存避免出现干扰
这里首先在美国的一台 Windows 电脑上测试,电脑是普通的家庭电脑,网络环境是普通家庭宽带
电脑远程上去使用 Chrome 浏览器测试是正常的,同一个账号问答几个回合后闲置十分钟一小时再提问均正常没有报错
为了排除有没有可能是IP地址的原因,本地 Windows 电脑使用一个临时测试节点,这个节点会把 ChatGPT 的流量全部转发到美国家庭宽带的IP上,而 Mac 电脑使用咋们好滋味杂货铺自己的节点
首先是使用住宅IP的 Windows 电脑的测试结果
中间间隔了5分钟10分钟再提出问题均没有出现 Something went wrong 中断的情况
然后是使用好滋味杂货铺的美国节点测试
可以观察到 15:34 发出消息后,等到 15:37 再发送就提示错误了,此时点下面的刷新按钮是没用的,必须刷新整个页面才可以
为了找到原因,这里查看了后台日志,可以清晰看到 15:34 问了一次问题产生了一次请求,然后 15:37 问另一个问题也产生了一个请求
其中间闲置的时间并没有产生任何请求,比较重要的一点是二次请求使用后端服务器不一样,一次是后端2一次是后端3这里也就是问题的关键了
问题原因
不同的后端服务器它的公网IP地址是不一样的,出于快速故障转移的考虑,我们的DNS解析更新时间会比较快,通常一二分钟或几分钟就会把流量分配到不同的入口,不同的入口对应不同的后端服务器,这样当出现故障时只要暂停对应的域名解析即可实现故障转移,同时故障转移也是自动化操作的,但这就带来一个问题,它的对外公网IP地址会变动的比较频繁
正常来说大多数服务对这种IP变动并不敏感,很多网站只验证浏览器的 Cookie 并不会因为IP变了就让你重新登录或者重新刷新页面
但仍有少部分网站和服务对IP变动比较敏感,即使你登录了如果IP地址变了会要求重新登录,而 ChatGPT 这个问题也是这个原因导致的
二次请求中,如果流量是分配到同一个后端服务器,由于IP和原来一样,所以并不会触发这个问题,但当下一次请求和上一次的IP不一样就会出现这种报错,此时必须刷新页面才能继续使用
所以这个问题的最终原因就是因为我们的架构设置导致IP变动较为频繁,同时 ChatGPT 对IP变动也比较敏感,造成了这一情况的发生
在后续的测试中和日志来实时对比就可以稳定复现这一问题,每当流量转发到不同的后端服务器时就会出现,这个时间和DNS解析有关,不同的客户端也有些区别,所以不同的电脑它出现的频率和时间间隔也不一样
所以这个问题和IP地址是否是原生IP没有关系,而是和IP地址的变动有关,如果IP地址被 ChatGPT 屏蔽或阻止那么打开的时候就会提示不支持这个国家和地区,这种情况更换IP把流量转到没有被屏蔽的机器上即可
解决方案
首先DNS的解析时间肯定不能改的,不然故障时候故障转移时间会大幅延长影响正常使用
这个问题的原因是IP地址的变化导致的,所以只要保证访问 ChatGPT 时使用的是固定的IP地址即可解决
每个智能接入点有很多入口也有很多后端服务器,对于 ChatGPT 来说他看到的IP地址就是实际发出请求的后端服务器的IP地址
只要保证同一智能接入点下面所有后端服务器把 ChatGPT 的流量调度到一台固定的机器上即可解决此问题
这样无论当前分配到哪个入口哪个后端服务器最终 ChatGPT 的流量都是一台固定的机器来处理的,这样即可解决因为IP变动导致报错,除非手动切换节点导致IP变动,当然这是人为原因谈不上故障
总结
此问题一方面是 ChatGPT 对IP变动比较敏感,另一方面也确实是我们细节没处理到位,所以导致出现这样的问题
后续我们将持续关注并做出调整,避免影响使用体验,如有其他类似情况,因为IP变动导致部分网站需要频繁重新登录或异常情况可随时反馈排查,解决起来也很简单,后台做流量调度把特定网站的流量导入到固定的机器上即可
2023-03-21 更新
昨天经过流量调度的调整,当时已经不再出现 Something went wrong 错误
但是后来晚上还是有错误的出现过,已经确定的是经过流量调度,访问 ChatGPT 的流量都是经由固定的机器处理,IP地址也是固定
还是有问题应该就和IP地址变动没有关系了,应该是其他的原因导致的,所以今天又做了详细的测试
测试环境
浏览器:macOS 和 Windows 火狐 国际版 隐私模式 默认状态无任何插件,火狐浏览器默认开启 增强型跟踪保护 默认的标准模式
浏览器:macOS 和 Windows Chrome 隐私模式 只安装油猴插件无屏蔽广告插件
测试方法:同一电脑使用同一节点,香港 1 智能接入点 Clash 规则模式,所有香港后端服务器已做处理把 ChatGPT 的流量转发到一台固定的机器处理
也就是对 ChatGPT 来说无论请求落在香港哪个机器上最终都是转发到一台固定的机器上访问 ChatGPT 网站并返回内容,也就是说对于 ChatGPT 来说IP是固定的
因为入口分配是动态的所以同时通过后台日志检查本次请求和上次请求是否落在不同的后端机器上,以统计出现的概率和对应关系,每次请求也就是每次发出问题
二分钟发送一次问题,并卡点在刚好整分钟的00秒方便对照后台日志,没有发送内容时是没有请求的,只有打字并按下回车才会产生请求,每次发出的内容就是当前的小时和分钟所以并没有复杂问题,比如 12:00
测试使用的是一样的账号,手工注册的账号,没有使用过 API 只在 chat.openai.com 使用
先看 Chrome 浏览器测试记录
macOS 系统的 Chrome 浏览器死活用不了,二分钟测试一次,消息一发过去立马报错
尝试安装屏蔽广告插件和关闭 QUIC 均无效,然后换到 Windows 系统的 Chrome 竟然又好了,测试期间流量是落在不同的后端上的,因为昨天做了处理,虽然是不同的后端,但是最终都是一个固定的IP再处理 ChatGPT 的流量,然后尝试换回 macOS 的 Chrome 还是那样一直报错
要知道昨天晚上测试,Windows 和 macOS 的 Chrome 都是频繁出现报错
然后是火狐浏览器的测试记录
可以看到无论是 Windows 还是 macOS 火狐浏览器没有一次报错,非常的稳定,后面间隔十分钟二十分钟再使用也没问题
流量也是不断的切换由不同的后端处理,但并没有造成任何干扰,之前是因为IP频繁变动,现在已经通过流量调度统一了出站的IP地址
上面二张图都是测试的截图,正好这天左边的聊天历史记录功能故障了,也就是说如果刷新页面的话是没有历史记录的
再次总结
经过半天的测试,详细的对比,发现在同样节点同样网络环境下使用火狐浏览器比 Chrome 要稳定
所以现在出现 Something went wrong 错误应该和我们的网络以及IP变动基本无关,因为在流量调度时候就已经强制固定了,不可能出现IP变动的,火狐浏览器的稳定使用也可以印证这一点
包括在美国的家庭电脑上测试也是偶尔会出现这个错误,后续下午的日常使用中火狐浏览器也出现了二次这种情况,但可以通过点击下面的按钮来重试,无需刷新整个页面
这样来看的话,出现这种情况应该是 ChatGPT 的某种风控导致的,毕竟发出请求时候是 403 拒绝链接的并不是网络的问题
至于为啥火狐可以稳定使用,可能是因为它自带隐私保护功能阻止了 ChatGPT 搜集设备信息从而无法判断是不是使用代理,所以降低了风控,或者是 ChatGPT 对Chrome兼容性不好,谁知道呢,现在用火狐确实很稳定,另外使用iOS自带的Safari隐私模式,稳定性也还好
所以 ChatGPT 的话建议使用火狐浏览器访问并搭配好滋味杂货铺的加速服务获得稳定的使用效果
好专业啊,我最近就遇到了这个问题,打算买你的梯子了
你好,我们已把 ChatGPT 列为正式支持的解锁项目,会尽最大努力保证稳定提供服务,目前的方案是使用国外家庭宽带IP来处理GPT的流量,因为很多机房IP已经被屏蔽了,这个措施可保障IP不被封锁,文章中描述的分析是GTP在大陆通过代理环境使用的一些副作用和错误,通过我们的GTP家宽IP解锁和火狐浏览器的方式使用体验和国外差别不大