我試圖透過一個位址公開網路伺服器的一部分,透過另一個位址公開另一部分。我覺得我的用例應該很簡單,但 nginx 給我帶來了很多麻煩。
我目前擁有的是這樣的:
伺服器一:
server {
listen 443 ssl;
server_name mydomain.com;
location /dev/subfolder {
proxy_pass http://dev.mydomain.local/subfolder;
proxy_redirect http:// https://;
}
}
伺服器二:
server {
listen 80;
server_name dev.mydomain.com;
location /main {
#some config
}
location /subfolder {
return 404;
}
}
server {
listen 80;
server_name dev.mydomain.local;
location /subfolder {
#some config
}
}
問題是,如果我proxy_set_header Host $host
向伺服器一新增指令,伺服器二上的第一個伺服器區塊將接收請求,並返回 404 dev.mydomain.local
。在內部可用。我該如何解決這個問題?