为什么80%的码农都做不了架构师?>>>   

背景

这天气够热的,要处理的事情也够多的。。。。

想看解决的,直接 ctrl+f搜索关键字‘配置点’##

开始前交代(想看原因的看这个,个人观点,不代表正确)##

解说:今天用nginx反代通讯项目,发现平均1分钟左右,就会出现webSocket连接中断,然后查看了一下,是nginx出现的问题。

原因是:nginx等待你 第一次通讯和第二次通讯的时间差超过了它设定的最大等待时间,简单来说就是,超时,所以就啪的一声断了,开始上解决步骤。

解决方案一

其实只要配置nginx.conf的对应localhost里面的这几个参数就好
  1. proxy_connect_timeout;
  2. proxy_read_timeout;
  3. proxy_send_timeout;

解决方案二

发心跳包,原理就是在有效地再读时间内进行通讯,重新刷新再读时间

备注:配置的位置为localhost,给出简略地址

 http {server {location / {root   html;index  index.html index.htm;proxy_pass http://webscoket; proxy_http_version 1.1; proxy_connect_timeout 4s; #配置点1proxy_read_timeout 60s; #配置点2,如果没效,可以考虑这个时间配置长一点proxy_send_timeout 12s; #配置点3proxy_set_header Upgrade $http_upgrade; #这是webSocket的配置,与此篇博客无关proxy_set_header Connection "Upgrade"; #这是webSocket的配置,与此篇博客无关}}
}

关于配置2的解释

备注:这个是服务器对你等待最大的时间,也就是说,当你webSocket使用nginx转发的时候,用上面的配置2来说,如果60秒内没有通讯,依然是会断开的,所以,你可以按照你的需求来设定

举例: 比如说,我设置了10分钟,那么如果我10分钟内有通讯,或者10分钟内有做心跳的话,是可以保持连接不中断的,详细看个人需求 感谢评论区 @zigzagroad 的指正,希望可以帮到你们,如果有更好的方式,麻烦分享一下,谢谢

关于nginx相关配置的解释,可以看一下这个

地址:http://blog.csdn.net/liujiyong7/article/details/18228915

转载于:https://my.oschina.net/grkj/blog/1499744

Nginx代理webSocket经常中断的解决方案, 如何保持长连接相关推荐

  1. Nginx代理webSocket时60s自动断开, 怎么保持长连接

    利用nginx代理websocket的时候,发现客户端和服务器握手成功后,如果在60s时间内没有数据交互,连接就会自动断开,如下图: 为了保持长连接,可以采取来两种方式. 1.nginx.conf 文 ...

  2. Nginx代理WebSocket方法

    微信公众号:运维开发故事,作者:姜总 大家好,我是小姜. 前一篇文章讲了一下什么是WebSocket协议,这里在回顾一下,并且聊一聊如何用nginx来代理WebSocket. WebSocket是HT ...

  3. Netty 通过 WebSocket 编程实现服务器和客户端全双工长连接<2021SC@SDUSC>

    2021SC@SDUSC Netty 通过 WebSocket 编程实现服务器和客户端全双工长连接 实例要求: Http 协议是无状态的, 浏览器和服务器间的请求响应一次,下一次会重新创建连接. 要求 ...

  4. nginx代理WebSocket配置

    代理WebSocket的示例配置 # /etc/nginx/conf.d/proxy-http.conf server {listen 8080;server_name api.mydomain.co ...

  5. Nginx代理websocket

    nginx.conf配置 server {listen 8090; server_name localhost;add_header Access-Control-Allow-Origin *;add ...

  6. Nginx 代理 WebSocket

    2019独角兽企业重金招聘Python工程师标准>>> WebSocket连接异常:Error during WebSocket handshake: Unexpected resp ...

  7. Nginx支持WebSocket反向代理-学习小结

    WebSocket是目前比较成熟的技术了,WebSocket协议为创建客户端和服务器端需要实时双向通讯的webapp提供了一个选择.其为HTML5的一部分,WebSocket相较于原来开发这类app的 ...

  8. 使用Nginx代理和转发Websocket连接

    1.Websocket 简介 WebSocket协议是基于TCP的一种新的网络协议.它实现了浏览器与服务器全双工(full-duplex)通信--允许服务器主动发送信息给客户端. 2.Nginx 简介 ...

  9. http响应最大时长 nginx_nginx反向代理时如何保持长连接

    ·[场景描述] HTTP1.1之后,HTTP协议支持持久连接,也就是长连接,优点在于在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟. 如果我们使用了nginx去作为 ...

最新文章

  1. java 时间加减_Java中时间加减的比较
  2. 华为的鸿蒙系统可以装在电脑上吗_继鸿蒙系统后!华为首款台式机电脑上线:联想PC霸主地位危险了...
  3. 总结调试过程中怎么去抓log
  4. 简述计算机图形的图形应用主要有哪些,5计算机图形学考试简答题复习.doc
  5. 软考系统架构师笔记-最后知识点总结(三)
  6. 荣耀50系列外观配置抢先看:售价成唯一悬念
  7. postgresql 集合类型_PostgreSQL数据类型-时间数据类型
  8. Servlet期末复习笔记
  9. git 怎么还原历史版本_git 还原到服务器版本
  10. 如果计算机正执行屏幕保护程序 当用户,计算机一级考试参考试题(含答案)讲节一.doc...
  11. 微信小程序icon控件
  12. 西游释厄传 所有物品代码
  13. SOLD格雷母线定位系统产品说明
  14. php调用pdf虚拟打印机,window_在Win7系统中怎么安装PDF彩色虚拟打印机?,前面说过,Word不能直接将文档 - phpStudy...
  15. 免费多功能转码机器人(小程序转码机器人)
  16. win7系统mscomctl.ocx不能注册
  17. ESP32 Wi-Fi讲解,station连接热点案例
  18. 基于Arduino的烟雾传感实验
  19. 再谈IE6之Fixed定位
  20. 一些数据恢复软件——介绍

热门文章

  1. D-query SPOJ - DQUERY (莫队算法裸题)
  2. 设置一个双色球脚本(2)并带颜色输出
  3. JavaSE | 多线程
  4. 数据库事务处理差异:可提交读和重复读区别
  5. 5.RabbitMQ 客户端控制消息
  6. date、sleep和usleep命令
  7. eclipse3.4+对的处理插件(附SVN插件安装实例)
  8. springMVC-配置Bean
  9. 对象内存布局 (5)
  10. AC automation 模板