nginx 代理 websocket

2017-09-06  本文已影响0人  李其伟

在nginx.conf中添加,具体可以查看下面官方地址

http {

map $http_upgrade $connection_upgrade {

default upgrade;

''      close;

}

server {

...

location /chat/ {

proxy_pass http://backend;     #被代理服务器的访问地址

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection $connection_upgrade;

}

}

注意遇到问题

现象 :代理访问返回 502错误

解决。如果如上面 location /chat/ {} 这样配置 ,  那么程序中接收websocket数据的服务器地址应该多添加/chat/,相对于不用代理的情况下。

配置nginx代理前访问地址 ws://baidu.com/commend  

配置nginx代理后访问地址 ws://baidu.com/chat/commend   后台websocket也要添加/chat/

官方文档地址 http://nginx.org/en/docs/http/websocket.html

上一篇下一篇

猜你喜欢

热点阅读