[英]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.