有时生产环境 nginx 用的 https,但K8S容器是http服务,为了绕过 nginx 的https,直接进入内部测试 websocket 服务是否可用,此时用 curl 命令来测试 WebSocket 服务就大显身手了,还省时省力。
CURL 连接 WebSockert 服务测试:
curl --include \ --no-buffer \ --header "Connection: Upgrade" \ --header "Upgrade: websocket" \ --header "Host: example.com:80" \ --header "Origin: http://example.com:80" \ --header "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" \ --header "Sec-WebSocket-Version: 13" \ http://192.168.3.200:8080/ws?type=PICTURE_PROCESS
成功建立连接,服务器返回信息:
对于使用 WebSocket 服务的网站,域名不能进行 CDN 加速,之前域名用了阿里云CDN,整整排查1天,开始一直以为自己代码哪里出了问题。
使用在线工具 websocket-test 测试时,不要使用域名,会连不上服务器,改成IP就可以了。