安裝SSL憑證的網站如何實現HTTP重新導向到HTTPS?
完成SSL憑證部署後,需在伺服器設定301強制重新導向規則實現全站HTTPS加密存取。各伺服器具體操作方法:
設定後請清除瀏覽器快取測試,推薦使用 Racent SSL檢測工具 驗證跳轉狀態
Nginx
如果您需要將 HTTP 請求自動重新導向到 HTTPS,您可以透過以下操作設定:
-
使用Nginx重新導向功能,在HTTP的
server中增加return 301 https://$host$request_uri;,即可將HTTP請求重新導向為HTTPS。修改如下內容:server {
listen 80;
#把http的域名请求转成https
return 301 https://$host$request_uri;
} -
重新啟動 Nginx 伺服器即可使用網域名稱存取,實現
HTTP自動跳轉HTTPS。
完整安裝SSL證書流程請查看 Nginx伺服器安裝sslTrus ssl證書教學
Tomcat
如果您需要將 HTTP 請求自動重新導向到 HTTPS,您可以透過以下操作設定:
-
編輯
/usr/tomcat9.0.13/conf目錄下的web.xml檔案,找到</welcome-file-list>標籤。 -
請在結束標籤
</welcome-file-list>後面換行,並新增以下內容。<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint> -
編輯
/usr/tomcat9.0.13/conf目錄下的server.xml檔案,將redirectPort參數修改為 SSL 的connector的連接埠,即 443 連接埠。如下所示:<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" /> -
儲存設定檔,在
bin目錄下執行以下命令,確認設定是否正確。./configtest.sh -
如果設定沒有問題,重啟 Tomcat 伺服器即可使用網域名稱存取,實現 HTTP 自動跳轉 HTTPS。
./shutdown.sh #關閉 Tomcat 伺服器
./startup.sh #啟動 Tomcat 伺服器
完整安裝 SSL 證書流程請查看 Tomcat伺服器安裝銳安信ssl證書教程
IIS
-
開啟 IIS 服務管理員。
-
選擇網站下的站台名稱,按兩下開啟「URL 重寫」。如下圖所示:
注意執行該步驟前請先下載安裝 URL Rewrite模組。

-
進入「URL 重寫」頁面,並按一下右側「動作」欄的 新增規則。如下圖所示:

-
在彈出的「新增規則」視窗中,選擇 空白規則,按一下 確定。如下圖所示:

-
進入「編輯輸入規則」頁面。如下圖所示:

- 名稱:填寫 Http redirect to https。
- 比對 URL:在「模式」中手動輸入
(.*)。 - 條件:
- 按一下新增,彈出「新增條件」視窗。
- 條件輸入:
{HTTPS}。 - 檢查輸入字串是否:預設選擇與模式比對。
- 模式:手動輸入
^OFF$。
- 動作:填寫以下參數。
- 動作類型:選擇重新導向。
- 重新導向 URL:
https://{HTTP_HOST}/{R:1}。 - 重新導向類型:301重新導向。
-
按一下右側「動作」欄的 套用 儲存。
-
返回網站首頁,按一下右側「管理網站」欄的 重新啟動。即可使用HTTPS進行存取。
完整安裝SSL證書流程請參閱 IIS伺服器安裝銳安信ssl證書教程
Apache
如果您需要將 HTTP 要求自動重新導向到 HTTPS,您可以透過以下操作設定:
-
編輯
/etc/httpd/conf目錄下的httpd.conf設定檔。檢查該設定檔中是否存在LoadModule rewrite_module modules/mod_rewrite.so。 如果存在,請移除首行的註解符號(#);如果不存在,請新增該行LoadModule rewrite_module modules/mod_rewrite.so,然後儲存設定檔。 -
開啟http.conf檔案,在設定檔中新增以下內容:
<VirtualHost *:80>
# 新增
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost> -
重新啟動 Apache 伺服器即可使用網域名稱存取,實現 HTTP 自動跳轉至 HTTPS。
完整安裝 SSL 證書流程請參閱 Apache伺服器安裝sslTrus SSL證書教學
Apache2
如果您需要將 HTTP 請求自動重新導向到 HTTPS,可以透過以下步驟進行設定:
-
在命令列中輸入
a2enmod rewrite啟用重新導向模組 -
然後開啟 http 設定檔,例如:
/etc/apache2/sites-available/000-default.conf,在設定檔中新增以下內容:<VirtualHost *:80>
# 新增
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
</VirtualHost> -
重新啟動 Apache 伺服器即可使用網域名稱存取,實現 HTTP 自動跳轉至 HTTPS。
完整安裝 SSL 證書流程請參閱 Apache2伺服器安裝sslTrus SSL證書教學