nginx 代理 websocket

在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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容