手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆

nginx websocket proxy_pass的配置

首页 > Linux >

 在nginx下配置Websocket的proxy_pass还是很方便的。几乎和默认的proxy_pass一致,只要加两行代码:

XML/HTML代码
  1. proxy_set_header Upgrade $http_upgrade;  
  2. proxy_set_header Connection $connection_upgrade;  

如果对http_upgrade和$connection_upgrade的变量有自定义,可以这样写:

XML/HTML代码
  1. map $http_upgrade $connection_upgrade {  
  2.     default upgrade;  
  3.     '' close;  
  4. }  

如果不熟悉map的用法,这里有一篇中文的说明:https://blog.51cto.com/tchuairen/2175525

至此,一个websocket 就配置好了,但偶尔你可能还是会发现ws会断开,所以最好设置一下超时时间。比如5分钟?

XML/HTML代码
  1. proxy_read_timeout 300s;  
  2. proxy_send_timeout 300s;  

毕竟网络不好的时候。。30s或者60s是真有可能会数据发出去收不到的。干脆延长一点吧。

参考:

1、https://www.xncoding.com/2018/03/12/fullstack/nginx-websocket.html

2、https://blog.51cto.com/tchuairen/2175525

 

 
 



本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):