Tomcat 伺服器安裝 SSL 憑證(JKS 格式)
您可透過將 SSL 憑證安裝到 Tomcat 伺服器,讓 Tomcat 伺服器支援 HTTPS 安全存取。本文說明如何在 Tomcat 伺服器中安裝 SSL 憑證。
說明
本文件 Tomcat 版本以 tomcat9.0.13 為例。 安裝前請確認 443 連接埠未被占用,若 443 連接埠已使用,請於安裝憑證時綁定其他連接埠。
取得憑證
-
我們為您簽發憑證後,將會核發憑證檔案(.zip)壓縮格式,壓縮包內有四個資料夾,分別對應四種憑證格式:Tomcat、Nginx、IIS、Apache;本文件使用 JKS 格式進行安裝,使用 Tomcat 資料夾內的憑證。
-
Tomcat 資料夾中將包含三個檔案:
domain_com.jks憑證檔案domain_com.key私鑰檔案password.txt憑證密碼檔案
安裝 SSL 憑證
- 將已取得的
domain_com.jks憑證檔案從本機目錄複製到 Tomcat 伺服器的/usr/tomcat9.0.13/conf目錄下。
- 不同版本的 Tomcat 路徑名稱會有些許差異,請前往您的服務對應路徑進行操作。
- 部分使用者的 JDK 版本若與我們轉換 JKS 檔案環境的 JDK 版本不同時,可能需要手動於目前使用環境轉換 JKS 檔案。
請參考下方指令進行 JKS 檔案轉換,請注意替換對應參數:
keytool -importkeystore -srckeystore domain.pfx -srcstoretype pkcs12 -srcstorepass pfxpassword -destkeystore domain.jks -deststoretype jks -deststorepass pfxpassword
請替換 domain.pfx(IIS 資料夾中的 pfx 檔案)、pfxpassword(pfx 檔案的密碼)、domain.jks(轉換後 jks 檔案的名稱)、pfxpassword(PFX 檔案的密碼)
- 編輯
/usr/tomcat9.0.13/conf目錄下的server.xml檔案。 在server.xml檔案中新增 Connector 屬性,內容如下:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="/usr/tomcat9.0.13/conf/domain_com.pfx" <! -- 證書的路徑 -->
keystorePass="證書密碼" <! -- 請替換為 password.txt 密碼檔案中的內容 -->
clientAuth="false"/>
- 儲存設定檔,在 bin 目錄下執行以下指令,確認設定是否正確。
./configtest.sh
- 重新啟動 Tomcat,在 bin 目錄下執行以下命令:
./shutdown.sh #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器
測試 SSL 證書
在瀏覽器網址列輸入綁定 SSL 證書的網域,測試您的 SSL 證書是否安裝成功。如果成功,瀏覽器網址列會顯示一個安全鎖標誌,點擊即可檢視證書資訊。

HTTP 自動跳轉 HTTPS 的安全設定(選用)
如果您需要將 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 服务器