Nginx
在 Nginx 中,如何在維護子域的同時將所有 http 請求重寫為 https?
我想將我的網路伺服器上的所有 http 請求重寫為 https 請求,我從以下內容開始:
伺服器 { 聽 80; 地點 / { 重寫 ^(.*) https://mysite.com$1 永久; } ...
一個問題是這會剝離任何子域資訊(例如,node1.mysite.com/folder),我如何重寫以上內容以將所有內容重新路由到 https 並維護子域?
新版本nginx的正確方法
結果我對這個問題的第一個答案在某些時候是正確的,但它變成了另一個陷阱 - 要保持最新狀態,請檢查Taxing rewrite pitfalls
我已經被許多 SE 使用者更正,所以歸功於他們,但更重要的是,這裡是正確的程式碼:
server { listen 80; server_name my.domain.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name my.domain.com; # add Strict-Transport-Security to prevent man in the middle attacks add_header Strict-Transport-Security "max-age=31536000" always; [....] }