1、检查配置了外网后访问app的地址是什么,最常见的问题是app里是因为 拼接的/Viewer访问所以进不去,移动端是拼接/server访问
2、是否做代理之类的,比如nginx,就需要添加配置才行。
如果使用了Nginx,我们还需要修改下拉配置,添加:
location /websocket {
proxy_pass XXX;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
注意:proxy_pass 后面为咱们app的访问地址。 WebSocket 和 HTTP 协议不同,但是 WebSocket 中的握手和 HTTP 中的握手兼容,它使用 HTTP 中的 Upgrade 协议头将连接从 HTTP 升级到 WebSocket,当客户端发过来一个 Connection: Upgrade请求头时,Nginx 是不知道的,所以,当 Nginx 代理服务器拦截到一个客户端发来的 Upgrade 请求时,需要显式来设置Connection 、Upgrade 头信息,并使用 101(交换协议)返回响应,在客户端和代理服务器、后端服务器之间建立隧道来支持 WebSocket。
|