Tomcat9配置https協議訪問
阿新 • • 發佈:2019-02-11
從官網上下載下來的Tomcat,啟動後訪問的地址是http://localhost:8080/,採用的是http協議訪問。下面講解的是配置https協議訪問。
一、工具版本號
Tomcat:apache-tomcat-9.0.10
JDK:jdk1.8.0_144
二、使用【JAVA_HOME】\jdk1.8.0_144\bin目錄下的keytool.exe生成一個名字為tomcat的證書,存放在E盤下的tomcat.keystore這個金鑰庫中。
keytool -genkey -alias tomcat -keyalg RSA -keystore e:/tomcat.keystore
三、配置https聯結器
1、將生成的tomcat.keystore金鑰庫檔案拷貝到Tomcat伺服器的conf目錄下;
2、修改server.xml檔案,配置https聯結器;
a、註釋掉http聯結器
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
b、釋放掉https聯結器
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="conf/localhost-rsa.jks" type="RSA" /> </SSLHostConfig> </Connector>
c、修改https聯結器內容,包含埠號、祕鑰庫檔案路徑,以及配置祕鑰的口令(就是再生成祕鑰檔案時設定的口令)
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/tomcat.keystore"
type="RSA" certificateKeystorePassword="123456" />
</SSLHostConfig>
</Connector>
備註:瀏覽器訪問8080埠的聯結器時,會以加密的方式來訪問web伺服器,聯結器收到瀏覽器的請求後,會向瀏覽器出示一份數字證書,瀏覽器再用數字證書裡面的公鑰來加密資料, certificateKeystoreFile="conf/tomcat.keystore"用來指明金鑰庫檔案的所在路徑,伺服器從金鑰庫中提取證書時需要密碼,certificateKeystorePassword="123456"指明金鑰庫的訪問密碼。(tomcat8及8一下的版本配置的是keystoreFile="conf/.keystore"和keystorePass="123456")四、啟動Tomcat,使用https://localhost:8080/進行訪問測試。