websocket经nginx代理后一段时间自动断开连接,错误码1006

硅谷探秘者 Md nginx 2208 0 0

情景

websocket服务端经nginx代理,刷新页面连接正常,大约经过60秒没有发送消息,websocket自动断开连接,控制台打印错误码为1006。

原因

在经过nginx代理时,nginx会检测超过60秒(默认)没有活动的套接字,并将其断开连接。

解决方法

一、修改 nginx 代理超时时间

时间根据实际需求配置,单位秒

         proxy_read_timeout 86400s;
         proxy_send_timeout 86400s;

完整配置

location /demo {
                proxy_set_header  Host $host;
                proxy_set_header  X-Real-IP  $remote_addr;
                proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header  X-Forwarded-Proto   $scheme;
                proxy_pass http://192.168.1.102:8856;
                proxy_read_timeout 86400s;
                proxy_send_timeout 86400s;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
        }

二、业务层实现心跳检测

定时从客户端向服务器发送心跳数据,来不断刷新剩余超时时间。


评论区
请写下您的评论...
暂无评论...
猜你喜欢
linux系统 1554 nginx上传文件报413(RequestEntityTooLarge)的解决方案RequestEntityTooLarge:请求的实体太大,nginx默认的大小是1M解决方案:设置
计算机网络基础 2439 HTTP400400请求出由于语法格式有,服务器无法解此请求。不作修改,客户程序就无法重复此请求。HTTP401401.1未授权:登录失败此表明传输给服务器的证书与登录服务器所需的
official 702 比如目前在idea中打了a项目,然你想在这个工作空添加另个b项目。因为如果打两个工作空来回切换回很麻烦。那么具体操作如下:菜单栏选择File-ProjectStructure
mqtt协议 1600 客户端异常,服务端会向遗嘱主题发送遗嘱消息。  遗嘱消息发布的条件,包括但不限于:服务端检测到了个I/O或者网络故障。客户端在保持(KeepAlive)的内未能通讯。客户端没有先发
official 813 UpdaterequestHTTP包建立起,之的通信全部使用websocket己的协议,就和http没啥关系了。有兴趣的同学可以多了解websocket协议报文的详细信息。Netty实现websoc
linux系统 6198 方案般配置方案二:访问某个域名静态资源文件方案般配置  如果以html、htm、gif、jpg、jpeg、bmp、png、ico、txt、js、css结尾的资源,均由nginx
official 894 分复用最简单,其特点如图2-14(a)所示。用户在分配到定的频带,在通信过程中始至终都占用这个频带。可见频分复用的所有用户在同样的占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数
keepalived,nginx,linux 1264 个可用性则是百分之百,但是天有不测风云。所以我们只能尽可能的去减少服务的故障。  在生产环境上很多候是以Nginx做反向对外提供服务,但是Nginx难免遇见故障,如:服务器宕机。当Nginx
归档
2018-11  12 2018-12  33 2019-01  28 2019-02  28 2019-03  32 2019-04  27 2019-05  33 2019-06  6 2019-07  12 2019-08  12 2019-09  21 2019-10  8 2019-11  15 2019-12  25 2020-01  9 2020-02  5 2020-03  16 2020-04  4 2020-06  1 2020-07  7 2020-08  13 2020-09  9 2020-10  5 2020-12  3 2021-01  1 2021-02  5 2021-03  7 2021-04  4 2021-05  4 2021-06  1 2021-07  7 2021-08  2 2021-09  8 2021-10  9 2021-11  16 2021-12  14 2022-01  7 2022-05  1 2022-08  3 2022-09  2 2022-10  2 2022-12  5 2023-01  3 2023-02  1 2023-03  4 2023-04  2 2023-06  3 2023-07  4 2023-08  1 2023-10  1 2024-02  1 2024-03  1 2024-04  1
标签
算法基础 linux 前端 c++ 数据结构 框架 数据库 计算机基础 储备知识 java基础 ASM 其他 深入理解java虚拟机 nginx git 消息中间件 搜索 maven redis docker dubbo vue 导入导出 软件使用 idea插件 协议 无聊的知识 jenkins springboot mqtt协议 keepalived minio mysql ensp 网络基础 xxl-job rabbitmq haproxy srs 音视频 webrtc javascript
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。