2016-03-31 70 views
1

我有我的nginx的配置中有兩個服務器塊:nginx的HTTPS重定向增加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> 
} 

我使用的第一臺服務器塊基本上所有重定向HTTP流量HTTPS。我硬編碼重定向域名,因爲我想明確地避免重定向到htps://www.domain ... - 我想要https://domain ...

當我請求非www域名時,nginx正確地重定向到非www的HTTPS域

但是,當我請求www HTTP域時,nginx是而不是重定向到非www的HTTPS域。不知何故,即使我明確指定不要,它也會將www添加到HTTPS重定向。

爲什麼?

+0

胡斯托要清楚,http:// www.domain.com去https:// www.domain.com?或者訪問http:// www.domain.com? – TinyTheBrontosaurus

+0

http:// www.domain.com轉到https:// www.domain.com,我*不需要*。我希望它轉到https:// domain.com,這是硬編碼的重定向,但nginx不尊重這個 –

回答

1

只要看看這個沒有測試,我會說它沒有拿起www.domain.com,因爲它沒有在配置中指定。我相信你需要一個單獨的www規範,或使用正則表達式。

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

Dope!是。謝謝。 –

+0

w00t!很高興幫助 – TinyTheBrontosaurus

+0

只要網站讓我=)我會接受答案顯然它仍然「太早」 –