tomcat9(https)與IDEA的配置實踐
一. 創(chuàng)建tomcat證書
這里使用JDK自帶的keytool工具來生成證書:
1. 在jdk的安裝目錄\bin\keytool.exe下打開keytool.exe

2. 在命令行中輸入以下命令
keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "g:\tomcat.keystore"

以上命令將生產(chǎn)一對非對稱密鑰和自我簽名的證書g:\tomcat.keystore
注意:“名字與姓氏”應(yīng)該是域名,輸成了姓名,和真正運行的時候域名不符,會出問題
這里我輸入的密碼是123456, 域名是以tomcat為例, 省市以廣東深圳為例
keytool工具介紹
- -genkey 在用戶主目錄中創(chuàng)建一個默認(rèn)文件".keystore",還會產(chǎn)生一個mykey的別名,mykey中包含用戶的公鑰、私鑰和證書
- -alias 產(chǎn)生別名
- -keystore 指定密鑰庫的名稱(產(chǎn)生的各類信息將不在.keystore文件中)
- -keyalg 指定密鑰的算法 (如 RSA DSA(如果不指定默認(rèn)采用DSA))
- -validity 指定創(chuàng)建的證書有效期多少天
- -keysize 指定密鑰長度
- -storepass 指定密鑰庫的密碼(獲取keystore信息所需的密碼)
- -keypass 指定別名條目的密碼(私鑰的密碼)
- -dname 指定證書擁有者信息
- -list 顯示密鑰庫中的證書信息 keytool -list -v -keystore 指定keystore -storepass 密碼
- -export 將別名指定的證書導(dǎo)出到文件
- -file 參數(shù)指定導(dǎo)出到文件的文件名
- -delete 刪除密鑰庫中某條目
- -printcert 查看導(dǎo)出的證書信息
- -keypasswd 修改密鑰庫中指定條目口令
- -storepasswd 修改keystore口令
- -import 將已簽名數(shù)字證書導(dǎo)入密鑰庫
- -certreq 生成證書請求
- -changealias 更改條目的別名
- -delete 刪除條目
- -exportcert 導(dǎo)出證書
- -genkeypair 生成密鑰對
- -genseckey 生成密鑰
- -gencert 根據(jù)證書請求生成證書
- -importcert 導(dǎo)入證書或證書鏈
- -importpass 導(dǎo)入口令
- -importkeystore 從其他密鑰庫導(dǎo)入一個或所有條目
- -keypasswd 更改條目的密鑰口令
- -list 列出密鑰庫中的條目
- -printcert 打印證書內(nèi)容
- -printcertreq 打印證書請求的內(nèi)容
- -printcrl 打印 CRL 文件的內(nèi)容
- -storepasswd 更改密鑰庫的存儲口令
- keytool -importkeystore [OPTION]...
- 從其他密鑰庫導(dǎo)入一個或所有條目
- -srckeystore 源密鑰庫名稱
- -destkeystore 目標(biāo)密鑰庫名稱
- -srcstoretype 源密鑰庫類型
- -deststoretype 目標(biāo)密鑰庫類型
- -srcstorepass 源密鑰庫口令
- -deststorepass 目標(biāo)密鑰庫口令
- -srcprotected 受保護(hù)的源密鑰庫口令
- -srcprovidername 源密鑰庫提供方名稱
- -destprovidername 目標(biāo)密鑰庫提供方名稱
- -srcalias 源別名
- -destalias 目標(biāo)別名
- -srckeypass 源密鑰口令
- -destkeypass 目標(biāo)密鑰口令
- -noprompt 不提示
- -providerclass 提供方類名
- -providerarg 提供方參數(shù)
- -providerpath 提供方類路徑
- -v 顯示密鑰庫中的證書詳細(xì)信息
二. 配置tomcat服務(wù)器
定位到tomcat服務(wù)器的安裝目錄, 找到conf下的server.xml文件


<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->去掉注釋,修改為:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/home/weblogic12/apache-tomcat-cnooc/ssh/tomcat.keystore"
keystorePass="changeit" />
三. 啟動tomcat服務(wù)器
在瀏覽器中輸入: https://localhost

修改web.xml文件
Http自動跳轉(zhuǎn)Https
①編輯conf/web.xml文件
②在web.xml末尾加上如下配置,直接在節(jié)點下和同級:
<!--開啟http強制跳轉(zhuǎn)https訪問-->
<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>修改sever.xml文件
修改非SSL連接器的請求跳轉(zhuǎn)到SSL連接器上,修改如下配置:
原來為:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改為:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />1、將默認(rèn)8080端口修改為80端口,訪問時就不需要加8080端口了,因為HTTP協(xié)議默認(rèn)走的是80端口
2、將8443端口修改為443端口,意思是來自80端口的請求都跳轉(zhuǎn)至443端口
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解springboot-修改內(nèi)置tomcat版本
這篇文章主要介紹了springboot-修改內(nèi)置tomcat版本的相關(guān)資料,希望通過本文大家能掌握這樣的方法,需要的朋友可以參考下2017-08-08
tomcat如何修改默認(rèn)訪問項目名稱和項目發(fā)布路徑
這篇文章主要介紹了tomcat如何修改默認(rèn)訪問項目名稱和項目發(fā)布路徑問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06
tomcat9 下載安裝和配置+整合到eclipse的教程詳解
這篇文章主要介紹了tomcat9 下載安裝和配置+整合到eclipse,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07

