從官網上下載下來的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/進行訪問測試。