本文介紹如何在Tomcat服務器配置PFX格式的SSL證書,具體包括下載和上傳證書文件,在Tomcat上配置證書文件和證書密碼等參數,以及安裝證書后結果的驗證。成功配置SSL證書后,您將能夠通過HTTPS加密通道安全訪問Tomcat服務器,確保數據傳輸的安全性。
本文以安裝在Linux操作系統中的Tomcat 9為例介紹。不同版本的操作系統或Web服務器,部署操作可能有所差異,如有問題,請聯系產品技術專家進行咨詢,詳情請參見專家一對一服務。
前提條件
步驟一:下載SSL證書
登錄數字證書管理服務控制臺。
在左側導航欄,選擇。
在SSL 證書頁面,定位到目標證書,在操作列,單擊下載。
在服務器類型為Tomcat的操作列,單擊下載。
解壓縮已下載的SSL證書壓縮包。
根據您在提交證書申請時選擇的CSR生成方式,解壓縮獲得的文件不同,具體如下表所示。
CSR生成方式
證書壓縮包包含的文件
系統生成或選擇已有的CSR
證書文件(PFX格式):默認以證書ID_證書綁定域名命名。
密碼文件(TXT格式):默認以證書格式-password命名。
重要每次下載證書時都會產生新的密碼,該密碼僅匹配本次下載的證書文件。
手動填寫
如果您填寫的是通過數字證書管理服務控制臺創建的CSR,下載后包含的證書文件與系統生成的一致。
如果您填寫的不是通過數字證書管理服務控制臺創建的CSR,下載后只包括證書文件(PEM格式),不包含證書密碼或私鑰文件。您可以通過證書工具,將證書文件和您持有的證書密碼或私鑰文件轉換成所需格式。轉換證書格式的具體操作,請參見證書格式轉換。
步驟二:在Tomcat服務器安裝證書
將解壓后的證書文件和密碼文件上傳到Tomcat服務器的conf目錄。
說明Tomcat安裝目錄與您的服務器環境有關,您可以使用
sudo find / -name *tomcat*
命令,查詢Tomcat的安裝目錄。您可以使用遠程登錄工具附帶的本地文件上傳功能,上傳文件。例如PuTTy、Xshell或WinSCP等。如果您使用的阿里云云服務器 ECS,上傳文件具體操作,請參見上傳或下載文件(Windows)或上傳文件到Linux云服務器。
進入Tomcat安裝根目錄,執行以下命令,打開server.xml文件。
vim ./conf/server.xml
按照以下示例以及注釋說明配置server.xml。
重要為避免啟動Tomcat時出現錯誤,請在復制代碼時刪除注釋。
您可以從以下方式中選擇一種進行操作:
方式一:Tomcat服務器自動選擇SSL的實現方式。如果按照該方式無法完成后續配置,可能是因為您的環境不支持自動選定的SSL實現方式。
配置項:
配置示例:
<Connector port="443" #port屬性根據實際情況修改(HTTPS默認端口為443)。如果使用其他端口號,則您需要使用https://domain_name:port的方式來訪問您的網站。 protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" keystoreFile="conf/domain_name.pfx" #請您替換為證書的實際路徑。 keystoreType="PKCS12" keystorePass="證書密碼" #請替換為證書密碼文件pfx-password.txt中的內容。 clientAuth="false" SSLProtocol="TLSv1.1+TLSv1.2+TLSv1.3" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
方式二:手動指定SSL的實現方式(指定使用JSSE實現方式)。
配置項:
配置示例(需去掉<!- - 和 - ->注釋符):
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" maxParameterCount="1000" > <SSLHostConfig> <Certificate certificateKeystoreFile="conf/domain_name.pfx" #請您替換為證書的實際路徑。 certificateKeystorePassword="證書密碼" #請替換為證書密碼文件pfx-password.txt中的內容。 type="RSA" /> </SSLHostConfig> </Connector>
可選:在/conf/web.xml文件,配置HTTP請求自動跳轉HTTPS。
進入Tomcat安裝根目錄,執行以下命令,打開web.xml文件。
vim ./conf/web.xml
在web.xml文件最底部添加以下配置項。
<security-constraint> <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>
進入Tomcat的bin目錄,執行以下命令,停止并重啟Tomcat。
停止命令
./shutdown.sh
重啟命令
./startup.sh
步驟三:驗證SSL證書是否安裝成功
證書安裝完成后,您可通過訪問證書的綁定域名驗證該證書是否安裝成功。
https://yourdomain #需要將yourdomain替換成證書綁定的域名。
如果網頁地址欄出現小鎖標志,表示證書已經安裝成功。