Tomcat使用https配置實戰教程

今天繼續給大傢介紹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配置內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: