Tomcat8配置Https協議,Tomcat配置Https安全訪問,Tomcat Https配置
Tomcat8配置Https協議,Tomcat配置Https安全訪問,Tomcat Https配置
==============================
©Copyright 蕃薯耀 2017年11月06日
http://www.cnblogs.com/fanshuyao/
一、使用Jdk自帶的工具生成數字證書,如下:
- keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\soft\apache-tomcat-8.0.47-9200\conf\key\tomcat.keystore -validity 36500
keytool.exe 命令位於Java\jdk1.8.0_121\bin的目錄下,如果沒有配置Jdk的環境變數,就要進入目錄再使用。
命令引數部分解釋:
D:\soft\apache-tomcat-8.0.47-9200\conf\key\tomcat.keystore :表示數字證書生成後的檔案路徑
36500 :表示有效時間,36500天,預設90天
然後根據提示輸入資訊,如上圖所示。
需要注意的是:
網上說“名字與姓氏”應該是域名,輸成了姓名,和真正執行的時候域名不符,會出問題。(未知,待測試)
但我用了Mr.Li一樣可以在本地執行,具體情況不清楚,先記錄。
二、修改Tomcat的server.xml檔案支援Https
1、server.xml的Https配置預設是註釋掉的,如下:
2、去掉上圖紅色框的註釋,讓配置生效,預設埠為8443。然後再加上數字證書的屬性,如下:
keystoreFile="D:\soft\apache-tomcat-8.0.47-9200\conf\key\tomcat.keystore"
keystorePass="tomcat123",此密碼就是生成證書時的密碼。
屬性 | 描述 |
clientAuth | 如果設為true,表示Tomcat要求所有的SSL客戶出示安全證書,對SSL客戶進行身份驗證 |
keystoreFile | 指定keystore檔案的存放位置,可以指定絕對路徑,也可以指定相對於<CATALINA_HOME>(Tomcat安裝目錄)環境變數 的相對路徑。如果此項沒有設定,預設情況下,Tomcat將從當前作業系統使用者的使用者目錄下讀取名為“.keystore”的檔案。 |
keystorePass | 指定keystore的密碼,如果此項沒有設定,在預設情況下,Tomcat將使用“changeit”作為預設密碼。 |
sslProtocol | 指定套接字(Socket)使用的加密/解密協議,預設值為TLS,使用者不應該修改這個預設值。 |
ciphers | 指定套接字可用的用於加密的密碼清單,多個密碼間以逗號(,)分隔。如果此項沒有設定,在預設情況下,套接字可以使用任意一個可用的密碼。 |
三、然後就可以啟動tomcat測試。
1、注意:Https訪問的埠是8443,可以修改成別的埠。
效果如下:
IE Edge 瀏覽器:
Chrome核心瀏覽器: