加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_宿迁站长网 (https://www.0527zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

配置Nginx反向代理WebSocket

发布时间:2021-01-17 10:06:07 所属栏目:安全 来源:网络整理
导读:副标题#e# 《配置Nginx反向代理WebSocket》要点: 本文介绍了配置Nginx反向代理WebSocket,希望对您有用。如果有疑问,可以联系我们。 题图:By Anubhav Saxena?From Unsplash 用Nginx给网站做反向代理和负载均衡是广泛使用的一种Web服务器部署技术.不仅能

默认情况下,连接将会在无数据传输60秒后关闭,proxy_read_timeout参数可以延长这个时间或者源站通过定期发送ping帧以保持连接并确认连接是否还在使用.

  • 启动Nginx

Nginx会默认安装到/usr/local/nginx目录下.

$ cd /usr/local/nginx/sbin $ ./nginx -c /usr/local/nginx/conf/nginx.conf

如果你想以Systemd服务的方式更方便的管理Nginx,可参考「基于Upsync模块实现Nginx动态配置」 一文.

  • 测试通过Nginx访问WebSocket服务

上面的配置会使NGINX监听80端口,并把接收到的任何请求传递给后端的WebSocket服务器.我们可以使用wscat作为客户端来测试一下:

$ cd /root/node_modules/wscat/bin/ $ ./wscat –connect ws://192.168.2.210 connected (press CTRL+C to quit) > Hello Nginx < Server received from client: Hello Nginx > Welcome to www.hi-linux.com < Server received from client: Welcome to www.hi-linux.com

  • 反向代理服务器在支持WebSocket时面临的挑战

WebSocket是端对端的,所以当一个代理服务器从客户端拦截一个Upgrade请求,它需要去发送它自己的Upgrade请求到后端服务器,也包括合适的头.

因为WebSocket是一个长连接,不像HTTP那样是典型的短连接,所以反向代理服务器需要允许连接保持着打开,而不是在它们看起来空闲时就将它们关闭.

参考文档

http://www.google.com
http://t.cn/RaTxJl9
https://github.com/animetosho/Nyuu/issues/14
https://www.nginx.com/blog/websocket-nginx/
https://www.starduster.me/2016/08/23/brief-talk-of-websocket/

文章来自微信公众号:运维之美

(编辑:云计算网_宿迁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!