[英]How to use diffrent proxy_pass ports for the same domain depending on the url scheme (ws:// or http://) in nginx
我有一个子域(比如 api.xyz.com)
我有两项服务 -
我想使用相同的子域,但根据方案将其与两种服务一起使用
例如
如果我使用http://api.xyz.com
--> 它 proxy_passes 到端口 3000
和
如果我使用ws://api.xyz.com
--> 它 proxy_passes 到端口 5000
有人可以指出我正确的方向吗? (现在,我正在使用两个单独的子域 api.xyz.com 和 ws.xyz.com)
找到了解决方案。
server {
server_name api.xyz.com;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
if ($http_upgrade = "websocket") {
add_header X-Upstream $upstream_addr;
proxy_pass http://127.0.0.1:5000;
}
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:3000;
}
}
所以你必须检查标题和 proxy_pass 到适当的端口。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.