2016-03-31 15 views
1

ich in meiner nginx Konfiguration zwei Server-Blöcke:nginx https umleiten fügt www

server { 
    listen 80; 
    server_name domain.com; 
    return 301 https://domain.com$request_uri; 
} 

server { 
    listen 443 ssl; 
    server_name domain.com; 
    <ssl stuff> 
    <root directory> 
} 

ich die gesamten HTTP-Verkehrs zu HTTPS im Grunde ist Umleiten des ersten Server-Block verwendet wird. Ich bin Hardcoding der Umleitung Domain-Name, weil ich explizit Umleitung zu HTPS: //www.domain vermeiden möchte ... - Ich möchte https://domain ...

Wenn ich nicht-www HTTP-Domäne anfordern, leitet nginx korrekt um Nicht-WWW-HTTPS-Domäne

Wenn ich jedoch die www-HTTP-Domäne anfordere, ist nginx nicht umleiten auf die Nicht-WWW-HTTPS-Domäne. Irgendwie fügt es der HTTPS-Weiterleitung ein www hinzu, auch wenn ich explizit nicht darauf hinwies.

WARUM?

+0

Justo klar sein, http: // www.domain.com geht zu https: // www.domain.com? Oder zu http: // www.domain.com? – TinyTheBrontosaurus

+0

http: // www.domain.com geht zu https: // www.domain.com und ich * will * das nicht. Ich will, dass es zu https: // domain.com geht, welches die hartcodierte Weiterleitung ist, aber nginx ist das nicht wert –

Antwort

1

Wenn ich das nur einmal anschaue, würde ich sagen, dass es www.domain.com nicht aufnimmt, weil das nicht in der Konfig angegeben ist. Ich glaube, Sie benötigen eine separate Spezifikation für www oder verwenden Sie eine Regex.

server { 
    listen 80; 
    server_name domain.com 
       www.domain.com; 
    return 301 https://domain.com$request_uri; 
} 
+0

Dope! Ja. Vielen Dank. –

+0

w00t! froh, mir zu helfen – TinyTheBrontosaurus

+0

Ich werde die Antwort akzeptieren, sobald die Website mich lassen wird =) Anscheinend ist es immer noch "zu früh" –

Verwandte Themen