Nginx のホスト ヘッダーに対する競合要求

Nginx のホスト ヘッダーに対する競合要求

Web サーバーの一部を 1 つのアドレスで公開し、別の部分を別のアドレスで公開しようとしています。ユースケースは単純なはずだと感じていますが、nginx で多くの問題が発生しています。

私が現在持っているのは次のものです:

サーバー1:

server {
  listen 443 ssl;
  server_name mydomain.com;

  location /dev/subfolder {
    proxy_pass http://dev.mydomain.local/subfolder;
    proxy_redirect http:// https://;
  }
}

サーバー2:

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サーバー 1 にディレクティブを追加すると、サーバー 2 の最初のサーバー ブロックがリクエストを取得し、404 を返すことです。そのヘッダーを含めないと、dev.mydomain.localそのドメインは内部でのみ使用可能であるため、ブラウザーはナビゲートしようとして失敗します。この問題を解決するにはどうすればよいですか?

関連情報