利用nginx代理websocket的时候,发现客户端和服务器握手成功后,如果在60s时间内没有数据交互,连接就会自动断开
原因:nginx.conf 文件里location 中的proxy_read_timeout 默认60s断开。
解决办法:
1、设置成自己需要的时间,proxy_read_timeout 36000s;
2、前端添加心跳检测, 每隔一段时间检测连接状态,如果处于连接中,就向server端主动发送消息,来重置server端与客户端的最大连接时间,如果已经断开了,发起重连。