nginx "server" -Direktive mit mehreren "server_name" -Einträgen: Immer wird der erste an PHP $ _SERVER ['SERVER_NAME'] übergeben

Meine Konfiguration-Datei hat eine server Richtlinie-block, der beginnt mit...

server {
    server_name www.example1.com www.example2.com www.example3.com;

...um auf die Website zugegriffen werden, die mit verschiedenen domain-Namen.

Aber PHP ist $_SERVER['SERVER_NAME'] gibt immer den ersten Eintrag von server_name, in diesem Fall http://www.example1.com

Also ich habe keine Möglichkeit, aus dem PHP-code zu wissen, welche Domäne verwendet der Benutzer auf die Website zugreifen.

Gibt es eine Möglichkeit zu sagen, nginx/fastcgi-pass den echten domain-Namen verwendet, um auf die Website zugreifen?


Die einzige Lösung, die ich bisher gefunden habe, ist, wiederholen Sie den gesamten server block für jede domain mit einem deutlichen server_name - Eintrag, aber natürlich bin ich auf der Suche für eine bessere.

Kommentar zu dem Problem - Öffnen
vielleicht verwenden Sie Host in Ihrem code statt -wiki.nginx.org/HttpCoreModule#.24host Kommentarautor: edmondscommerce
Warum nicht erstellen 3 Website-Konfiguration-Dateien in der nginx-unter \etc\nginx\sites-available zu jedem Standort auf das gleiche Standort? Kommentarautor: maytham-ɯɐɥʇʎɐɯ
@maytham kann ich natürlich tun, aber es ist genau das, was ich versuche zu vermeiden (Replikation identische Konfiguration-Dateien) Kommentarautor: Paolo

InformationsquelleAutor der Frage Paolo | 2015-07-17

Schreibe einen Kommentar