Bru*_*tus 2 reverse-proxy nginx websocket
我想我的问题的答案将非常简单,但遗憾的是我自己无法弄明白!
我在服务器A(192.168.1.1)上运行的Nginx充当服务器B(192.168.1.2)上的WebSocket服务器的反向代理.最后一台服务器正在侦听端口1234并有2条路径,因此我们可以连接到以下地址:
ws://192.168.1.2:1234/path1
ws://192.168.1.2:1234/path2
Run Code Online (Sandbox Code Playgroud)
通过添加以下配置,我已经能够通过代理(ws://192.168.1.1/websocket/path1)成功连接到Path1:
location /websocket/path1 {
proxy_pass http://192.168.1.2:1234/path1;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
Run Code Online (Sandbox Code Playgroud)
现在我想使它足够通用以匹配第二条路径(而不是为path2创建类似的规则),我尝试了类似的东西:
location /websocket {
proxy_pass http://192.168.1.2:1234;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
Run Code Online (Sandbox Code Playgroud)
但是这样我无法访问WebSocket.
你知道什么是错的吗?
非常感谢您的宝贵时间!
这真的很容易,它通过在URL的末尾添加"斜线"来实现:
location /websocket/ {
proxy_pass http://192.168.1.2:1234/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
Run Code Online (Sandbox Code Playgroud)
我很确定已经尝试过这种方式,但看起来我错了!:)
| 归档时间: |
|
| 查看次数: |
4337 次 |
| 最近记录: |