怎麼在Linux系統下對Tomcat9安裝SSL證書?

背景

現在給後臺服務器進行HTTPS升級是很常見的事情,在之前的文章中已經針對怎麼購買域名、申請證書和進行Nginx服務器HTTPS升級進行了詳細的介紹,想了解的可以閱讀下面的這個文章。
如何申請域名、購買證書並在Nginx服務器上實現HTTPS?

在這篇文章中之所以說下如何在Tomcat9上進行安裝SSL證書,是因爲工作中都是接觸的在Nginx服務器上安裝證書,但是對於Tomcat上安裝證書一直沒有搞過,好奇是咋弄的,所以今天抽出時間實踐了一下,做下記錄,也給需要的朋友有個參考。

預熱:申請和下載SSL證書?

關於證書的申請上面的文章已經給出了方式,而且是免費的,不過只是一年有效期哦。大家可以到阿里雲平臺上進行申請,當然騰訊雲也有免費的域名,看大家的需要了。阿里雲的證書是需要單獨申請的,而騰訊雲是在你首次購買域名的時候附帶贈送的。

下面是阿里雲和騰訊雲的網站入口:

阿里雲
騰訊雲

我這裏申請了一個證書,和我買的測試完的域名www.lefenxiang.club進行了綁定。可以看下我在阿里雲上申請的免費證書,只要登錄相應雲平臺的控制檯就可以找到:
在這裏插入圖片描述
我們需要做的就是點擊上“下載”入接口,就可以彈出相應的下載頁面,我們這裏選擇Tomcat,如下所示:
在這裏插入圖片描述
下載之後,可以得到一個zip文件,解壓之後可以得到兩個文件,如下所示:
在這裏插入圖片描述
需要注意的是,這裏下載得到的pfx文件是和pfx-password.txt文件中的密碼是配套使用的,每次下載生成的文件和密碼都不一樣,切勿混用。

如何在Tomcat9上安裝SSL證書?

在安裝前,我們需要將我們下載的證書使用scp上傳到目標服務器上,在tomcat9的根目錄下創建一個cert文件夾,用於存放證書文件,如下所示:
在這裏插入圖片描述
然後進行unzip解壓,並且簡單的對證書文件進行
在這裏插入圖片描述
接下來需要注意的是,Tomcat 9強制要求證書別名設置爲tomcat。需要在命令行中通過下面命令進行設置,切記!!!

我們進入到證書所在的目錄,然後執行下面的命令,當然這裏要寫你自己的域名
keytool -changealias -keystore lefenxiang.club.pfx -alias alias -destalias tomcat

在這裏插入圖片描述
在完成好上面的準備工作之後,我們接下來需要進行SSL相關的一些配置,在tomcat根目錄下的conf子目錄下,找到server.xml配置文件,添加如下的配置:

	port="8443"
    protocol="org.apache.coyote.http11.Http11NioProtocol"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="cert/lefenxiang.club.pfx"
    keystoreType="PKCS12"
    keystorePass="J2YY4sAG"
    clientAuth="false"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
	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"

在這裏插入圖片描述
上面已經完成了所有的配置,但是如果你想HTTP請求強制跳轉HTTPS,那麼需要在web.xml中添加如下內容。

#在</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>

在這裏插入圖片描述
至此,相關的所有工作都完成了。我們需要驗證下是否配置成功了。我們將Tomcat啓動起來,通過在tomcat根目錄下執行./bin/start.sh來啓動,然後訪問https://www.lefenxiang.club:8443/,看看能不能正常訪問。
這裏之所以帶上8443端口,是因爲我的443端口有其他用,這裏tomcat配置成8443端口了,所以需要在域名後帶上端口,如果是使用默認的443端口,那麼就不需要帶上端口了。

在這裏插入圖片描述
看到了熟悉的那隻貓了,大功告成!!!

結語

本文對如何在Linux環境下,對Tomcat9安裝SSL證書進行了詳細的說明,希望對有需要的有所幫助,謝謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章