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!
推薦閱讀:
- Tomcat10配置端口號為443(使用https訪問)
- 關於Keytool配置 Tomcat的HTTPS雙向認證的問題
- Springboot 使用內置tomcat禁止不安全HTTP的方法
- Tomcat HTTPS證書申請與部署的實現
- springboot2如何禁用自帶tomcat的session功能