程序中如果用到websocket实现后台与前台的及时通讯功能,如果后台用nginx进行反向代理,
那么就需要在nginx配置对websocket的支持。
否则前端就会报websocket超时的错误。
经常我们解决这种问题的思路是到网上搜索大家解决问题的方法。但是人云易云,我感觉最好的方式还是看看官方是怎么解决的。
带着这样的思路,我们登陆到nginx的官网http://nginx.org/en/
点击右侧documentation
然后向下拉,找到 WebSocket proxying
点击 WebSocket proxying
简单的翻译是如果想要nginx支持websocket 需要配置
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
这三个报文头,下边两个红框,第一个是简单的配置方法,第二个是用map给不是websocket
的请求中的Upgrade 头的值,给 Connection 设置默认值。
红框2map的意思是,当Upgrade是 '' 的时候,设置Connection 为close,其他默认设置成upgrade
这样配置后,nginx就可以同时处理websockt请求了。
版权归原作者 trainer365 所有, 如有侵权,请联系我们删除。