https nginx websocket问题

本文介绍了在网站启用HTTPS后,WebSocket连接遇到的问题及解决方案。使用wss协议并确保URL为域名格式,同时在Nginx代理设置中调整proxy_read_timeout以避免60s自动断开连接。通过前端定时发送心跳包和后端响应来维持长连接,有效解决了WebSocket自动断开的问题。
摘要由CSDN通过智能技术生成

小编参考了 网站添加https后websocket不能使用和[websocket自动断开连接问题(https://blog.csdn.net/iterJiaY/article/details/52637251),小编在写websocket的时候,出现了自动断开的问题,小编的解决方案是用心跳保持连接的.小编的心跳机制是:vue每隔30秒给后端发心跳包,后端收到心跳包后给前端返回,以此来保持心跳。

网站添加https后

如果网站使用HTTPS,WebSocket必须要使用wss协议;
使用wss协议的连接请求必须只能写域名,而非IP+端口;
建议在URL域名后面为websocket定义一个路径,本例中是/socket/;

websocket自动断开连接问题

nginx配置:proxy_read_timeout(Default: 60s;),如果一直没有数据传输,连接会在过了这个时间之后自动关闭
可以通过心跳保持连接

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

Nginx代理webSocket时60s自动断开, 怎么保持长连接
https://blog.csdn.net/cm786526/article/details/79939687

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx是一个广泛使用的Web服务器和反向代理服务器,它也支持WebSocket协议。为了配置Nginx支持WebSocket,你需要进行以下操作: 1. 在Nginx的配置文件nginx.conf中,在http区域内添加以下配置: ``` map $http_upgrade $connection_upgrade { default upgrade; '' close; } ``` 这个配置会将Upgrade请求从客户端发送到后台服务器。 2. 在Nginx的server配置中添加以下内容: ``` server { listen 80; server_name your_domain; location / { proxy_pass http://your_backend_server/; proxy_http_version 1.1; proxy_read_timeout 3600s; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location /upload { root /your/static/resource/path; } } ``` 这个配置会将所有的WebSocket请求转发到后台服务器,并启用WebSocket连接。同时,你可以通过location指令指定静态资源的地址。 请注意,上述配置中的"your_domain"需要替换为你的域名,"your_backend_server"需要替换为你的后台服务器地址,"your/static/resource/path"需要替换为你的静态资源路径。 通过以上配置,你就可以在Nginx中成功配置WebSocket支持了。如果要详细了解Nginx WebSocket的配置,请参考、、中的链接。123 #### 引用[.reference_title] - *1* [websocket&nginx](https://blog.csdn.net/weixin_43626694/article/details/121291212)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* [nginxwebsocket的配置](https://blog.csdn.net/weixin_46406282/article/details/109582682)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *3* [Nginx代理WebSocket方法](https://blog.csdn.net/wanger5354/article/details/123675030)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值