Error during WebSocket handshake: Unexpected response code: 200

a414644502

问题描述:
由于之前的域名到期,换了一个新的域名(之前的域名都是正常连接的),SSL证书也用的最新的,进程也是正常的,但是客户端就是连不上WSS,有大佬遇到过这种问题吗?

域名部署在阿里云的全站加速CDN中,并且打开了Websocket开关。

3526 2 0
2个回答

keytehu

感觉是cdn返回的200

a414644502

问题已解决,在这里复盘下:

域名和CDN是在阿里云,服务器在华为云;

IM系统之前一直是正常的,后来由于同事不小心将这个域名在CDN控制台中删除掉了,导致系统挂掉;
发现问题后,我赶紧恢复了CDN,做过CDN的应该知道,添加完CDN后,会让绑定CNAME解析,所以我就直接做了域名的CNAME解析;

然后IM系统就出现了不稳定的情况,如问题所述,有时客户端控制台会报200错误,但是服务端却没有任何日志,开始以为是解析没生效的原因,但是等了两天依然是这种情况,有的客户反馈说可以正常使用,有的却不能使用。

给阿里云和华为云分别提交工单,阿里云说是DNS的问题,让我把DNS换成他们提供的,华为云说是CDN的问题,后边又说可能是服务器的带宽超额了。

最后无意间翻阿里云的解析页面,找到有个叫【权重配置】的页面,里面发现了这个出问题的域名,在设置权限里发现这个域名有两条CNAME记录,瞬间知道什么问题了:

阿里云控制台支持域名重复解析,由于这个主域名启用的二级域名太多,之前已经添加过一次用于IM的域名,只不过在最后一页,这次添加CDN又重新添加了一条解析记录,导致出现了两条同样的主机记录,但是CNAME却是不一样的,这样就出现了类似AB测试的效果,CDN在来回切换,因为只有一个是正常的,所以就出现了有时不正常,有时却正常的不稳定现象。

此问题总结两点:
一、删除CDN记录时,要同时把解析记录删除;
二、添加CDN时,先搜索下之前是否做过相同的主机记录;

此情况只针对有多个二级域名解析记录,我这边的实际情况是有三页记录,之前的记录在最后一页;

  • 暂无评论
年代过于久远,无法发表回答
🔝