當安裝了 SSL 證書,並且網站可以通過 https:// 協議訪問時,就該啟用自動重定向,以確保每次請求 http://example.com 或 http://www.example.com 時,能夠自動轉到 https://example.com 或 https://www.example.com。
根據 Nginx 的相關參考資料,例如 這個,有幾個指令可以用來實現我們的目標。我們將使用 'return' 指令,因為它是從對網絡伺服器性能的影響來看最簡單且最有效的。
重定向特定網站
要將特定網站重定向到 https://,需要打開配置文件,並進入攔截端口 80 的伺服器塊(虛擬主機)(可以是主要的 nginx.conf 文件或其他專門的伺服器塊配置文件),並在塊內添加以下行:
return 301 https://www.example.com$request_uri;

為所有網站設置默認重定向
可以設置一條重定向規則,適用於配置在給定 Nginx 網絡伺服器實例上的每個網站。我們需要修改用作訪問伺服器的默認伺服器塊。重定向指令需要使用 'server_name' 變數,而不是特定的域名:
return 301 https://$server_name$request_uri;

為特定目錄啟用 HTTPS 重定向
如果我們只需要來自特定文件夾的內容通過 https:// 提供服務,可以使用 'location' 指令:
location ^~ /test {
return 301 https://example.com$request_uri;
}
此規則定義了重定向僅適用於位於 'test' 目錄內的文件及該目錄本身。也可以通過為每個目錄創建相應的 'location' 區塊來重定向多個文件夾。

重定向特定頁面
使用同樣的 'location' 指令,我們可以為特定頁面和文件強制使用 HTTPS 連接。重定向規則將顯示如下:
location ^~ /test.txt {
return 301 https://example.com$request_uri;
}

我們介紹了使用 'return' 指令在 Nginx 上設置 HTTPS 重定向的幾個常見用例。提供的規則集旨在展示基本配置選項。隨意根據您的需求組合或修改它們,並參考 Nginx 文檔 了解更多相關內容。