Nginx 對主機頭的衝突需求

Nginx 對主機頭的衝突需求

我試圖透過一個位址公開網路伺服器的一部分,透過另一個位址公開另一部分。我覺得我的用例應該很簡單,但 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。在內部可用。我該如何解決這個問題?

相關內容