首頁 > 軟體

Tomcat使用https設定實戰教學

2022-03-04 19:01:30

今天繼續給大家介紹Linux運維相關知識,本文主要內容是Tomcat使用https設定實戰。

一、tomcat證書設定

首先,要實現https,就必須先具有tomcat證書。我們在安裝tomcat的時候,肯定都先安裝了JAVA,而JAVA中有自帶的證書生成工具keytool,今天,我們就使用keytool來生成tomcat的證書。
執行命令:

keytool -genkeypair -alias 'tomcat' -keyalg 'RSA' -keystore '/usr/local/tomcat/conf/tomcat.keystore'

執行結果如下:

這樣,該命令執行完畢後,就會在本地生成一個金鑰檔案,如下所示:


這樣Tomcat的證書就完成了。在此過程中,要特別注意輸入的密碼和生成的檔案路徑和名稱,在下面的設定中,我們需要使用這個證書檔案,用於設定Tomcat對https的支援。

二、tomcat支援https設定

接下來,我們還要設定tomcat使用該證書,並開放8443埠,支援https。開啟tomcat的主組態檔,找到8080埠的connector元素,在下面新增如下內容:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/usr/local/tomcat/conf/tomcat.keystore"
keystorePass="123456" />

其中keystoreFile引數指定的是證書檔案的位置,而keystorePass引數指定的是生成該證書的密碼。這樣,我們的tomcat就支援使用https了,並且監聽埠為8443。我們重啟Tomcat,發現Tomcat在啟動後悔監聽8443埠,如下所示:

我們嘗試用瀏覽器進行存取,結果如下:

三、tomcat強制使用https

在上述設定中,我們的Tomcat既支援使用http協定,又支援使用https協定。我們都知道,https協定是一種不安全的傳輸協定,內容會以明文的形式進行傳輸,因此,在生產環境中,我們通常設定強制tomcat使用https協定,當有人使用http協定存取8080埠時,將該存取請求強制性重定向到8443埠上去。
要實現Tomcat對http協定的強制性重定向,我們需要開啟conf目錄下的web.xml檔案,在檔案的下方,新增如下內容:

<login-config>
	<auth-method>CLIENT-CERT</auth-method>
	<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<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服務。此時,我們再次嘗試使用HTTP協定存取Tomcat的8080埠,就會被重定向到8443埠,使用https協定了。因此,我們的實戰設定成功!
原創不易,轉載請說明出處:https://blog.csdn.net/weixin_40228200

到此這篇關於Tomcat使用https設定實戰教學的文章就介紹到這了,更多相關Tomcat使用https設定內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com