nginx+websocket 收到101响应但立刻断开

外卖小哥却会写点代码 2018-12-11 10:23:13
重启服务器后,第一次连接可以连上正常使用,如果页面关闭导致连接断开之后再打开页面就出现一连上就立即断开。。响应能看到返回101,这是什么原因呢?重连也是连上就断开!!

...全文
4077 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
哈希塞特 2019-10-11
  • 打赏
  • 举报
回复
后台代码问题
maradona1984 2019-09-20
  • 打赏
  • 举报
回复
先判断断开是哪一端发起的
Shadow丿zx荣 2019-09-20
  • 打赏
  • 举报
回复
我也遇到了相同的问题,请求上面显示的状态是101, 但是后端一直报错EOFException
外卖自由 2021-08-12
  • 举报
回复
@Shadow丿zx荣 跟你一样的问题,解决了吗
  • 打赏
  • 举报
回复
补充:proxy_connect_timeout; proxy_read_timeout; proxy_send_timeout; 这些都配过无效!!! 附上NG配置 NG日志中有红框出来的内容,为重连时的日志,但 proxy_http_version 1.1; 我也配置了,感觉网上所有能见到的解决方式都试过均没法解决问题。。
资源下载链接为: https://pan.quark.cn/s/2f7c1c4db4a5 Nginx是一款高性能的HTTP和反向代理服务器,以其高性能、稳定性和轻量级特性,在Web服务器领域备受青睐。以下是Nginx的安装与使用方法,以及WebSocket集群实现和断开重连机制的介绍。 安装Nginx 在Linux系统中,可通过包管理器安装Nginx。对于Ubuntu/Debian系统,使用以下命令: 对于CentOS/RHEL系统,使用以下命令: 启动Nginx 安装完成后,启动Nginx服务: 若要设置开机自启,运行: 配置Nginx Nginx的配置文件通常位于/etc/nginx/nginx.conf。可以通过定义服务器块(server blocks)来处理不同域名或端口的请求。例如,创建一个简单的静态文件服务器配置: 测试与重启Nginx 使用nginx -t命令检查配置文件语法是否正确。若无误,可通过以下命令重启服务: WebSocket协议允许客户端与服务器之间建立持久连接,实现双向通信。在Nginx中实现WebSocket集群,需要配置负载均衡策略。 启用WebSocket代理 在Nginx配置文件中,添加以下指令以支持WebSocket: 配置负载均衡 可以选择轮询、最少连接数等策略。以轮询为例: 断开重连机制 WebSocket连接可能因网络问题中断,需在客户端实现断线重连逻辑。当检测到连接丢失时,客户端应尝试重新建立连接。 心跳检测 实现心跳检测机制,定期发送小数据包以检查连接状态。若连续几次未收到响应,则认为连接已断开。 重连策略 断线后,客户端应等待一段时间(如5秒、10秒)再尝试重新连接,避免因网络瞬时不稳定而频繁尝试。 错误处理 在客户端代码中捕获WebSocket异常(如WebSocketError),并根据错误类型决定是否需要重连。 通过上

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧