Nginx widersprüchliche Anforderungen an den Host-Header

Nginx widersprüchliche Anforderungen an den Host-Header

Ich versuche, einen Teil meines Webservers über eine Adresse und einen anderen Teil über eine andere Adresse verfügbar zu machen. Ich denke, mein Anwendungsfall sollte einfach sein, aber nginx macht mir viele Probleme.

Was ich derzeit habe, ist Folgendes:

Server eins:

server {
  listen 443 ssl;
  server_name mydomain.com;

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

Server zwei:

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
  }
}

Das Problem ist, wenn ich proxy_set_header Host $hostServer eins eine Direktive hinzufüge, wird der erste Serverblock auf Server zwei die Anfrage annehmen und 404 zurückgeben. Wenn ich diesen Header nicht einschließe, versucht mein Browser zu navigieren dev.mydomain.localund schlägt fehl, weil diese Domäne nur intern verfügbar ist. Wie behebe ich dieses Problem?

verwandte Informationen