首页 > 其他分享 >Websocket 60秒断开,连接不稳定

Websocket 60秒断开,连接不稳定

时间:2023-02-28 10:56:18浏览次数:50  
标签:set Websocket 断开 header 60 ssl ws proxy com

本地测试都是正常的,线上测试总是过一会就断开...

线上新增了https协议,导致页面中的链接必须也是ssl

Websocket链接地址从ws://ws.xxx.com改成了wss://ws.xxx.com

最开始http的配置如下:

server {
    listen 80;
    server_name ws.xxx.com;

    location / {
        proxy_pass http://127.0.0.1:8110;
        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 Connection $connection_upgrade;
        proxy_set_header Upgrade $http_upgrade;
        client_max_body_size 1000m;
        proxy_read_timeout 360s;
    }
}

升级到https后的ssl配置:

server {
    listen 443 ssl;
    server_name ws.xxx.com;

    ssl_certificate /usr/local/nginx/ws.xxx.com.crt;
    ssl_certificate_key /usr/local/nginx/ws.xxx.com.key;

    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers  on;

    location / {
        proxy_pass http://127.0.0.1:8110;
        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 Connection $connection_upgrade;
        proxy_set_header Upgrade $http_upgrade;
        client_max_body_size 1000m;
    }
}

线上Nginx新增ssl代理的时候,没有设置proxy_read_timeout

正确做法应该是proxy_read_timeout配置大于Websocket心跳时间

参考:
Nginx代理配置
Nginx重连时间

标签:set,Websocket,断开,header,60,ssl,ws,proxy,com
From: https://www.cnblogs.com/vmto/p/17163204.html

相关文章

  • #跟着小白一起学鸿蒙#WebSocket的使用和流程分析
    作者:王石WebSocket是一种网络通讯协议,很多网络开发工作者都需要它。本文介绍在OpenHarmony上WebSocket协议的使用方法。WebSocket有什么不同很多人会问,有了HTTP协议,尤其......
  • NIOS II与LCD1602
    使用NIOS内置LCD16207IP核驱动LCD1602闲话为了在NIOS中驱动LCD1602,走了很多的弯路,网上搜索了很多,但是这方面的资料太少了。在官方文档《EmbeddedPeripheralsIPUserG......
  • nginx反向代理WebSocket
    1.nginx反向代理websocket原理2.nginx配置文件详解2.1map值映射2.2upstream2.3location3.nginx反向代理协议升级======================================......
  • 60.内存分区模型
    1内存分区模型C++程序在执行时,将内存大方向划分为4个区域代码区:存放函数体的二进制代码,由操作系统进行管理的全局区:存放全局变量和静态变量以及常量栈区:由编译器自动......
  • mac brew安装报错curl: (60) SSL certificate problem: certificate has expired
    curl:(60)SSLcertificateproblem:certificatehasexpiredMoredetailshere:https://curl.haxx.se/docs/sslcerts.html这个问题原因就是证书到期了,重新下载下证......
  • websocket报错集锦-不断更新中
    问题1:Failedtoconstruct'WebSocket':AninsecureWebSocketconnectionmaynotbeinitiatedfromapageloadedoverHTTPS.问题描述MixedContent:Thepageat......
  • HTML5的WebSocket使用
    index.html(客户端)1<!DOCTYPEhtml>2<htmllang="en">3<head>4<metacharset="UTF-8"/>5<metaname="viewport"content="width=device-width......
  • 1600-1900 题单1
    构造题单A题目链接这个题目的切入点很不好找,首先我们可以假设我们已经构造出来了t字符串,并且它的不同字符的个数是cnt。那么我们可以知道\(\frac{n}{cnt}的含义是每一组......
  • MPU6050开发 -- 进阶之I2C/SPI通信协议
    上一篇基本概念讲了一通,大体上对MPU6050有了一个了解。对于MPU6050开发来讲主要的应该就是I2C/SPI通信和寄存器控制了吧。接下来我们继续看芯片手册,简单了解一下I2C/SPI通......
  • #160. 「NOIP2004 普及组」不高兴的津津 题解
    #160.「NOIP2004普及组」不高兴的津津题解题目传送门题目知识点枚举题意说明津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为......