後端代理,如果有我的nginx的Web服務器配置的子域名:sub.mydomain.com重寫一個子域蒙山nginx的
和我有偵聽端口5000後端服務器:http://127.0.0.1:5000
是可能將所有子域名調用傳遞給後端?
像:https://sub.mydomain.com/list到http://127.0.0.1:5000/sub/list
這應與所有方法的工作:POST,PUT,GET,DELETE
UPDATE:
當我打電話給我的服務器:https://mysubdomain.mydomain.com
具有以下配置:
upstream http_backend {
server 127.0.0.1:5000;
}
server_name ~^(?<subdomain>[^.]+)\.mydomain\.com;
這不起作用(錯誤:404):
location/{
proxy_pass http://http_backend/$subdomain/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
這工作得很好:
location/{
proxy_pass http://http_backend/mysubdomain/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
當我登錄到Access_log的$子域變量,它似乎是正確的。 nginx版本:nginx/1.9.15