Tomcat9配置https协议访问

        从官网上下载下来的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
Tomcat9配置https协议访问

三、配置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连接器

  1. <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
  2. maxThreads="150" SSLEnabled="true">
  3. <SSLHostConfig>
  4. <Certificate certificateKeystoreFile="conf/localhost-rsa.jks"
  5. type="RSA" />
  6. </SSLHostConfig>
  7. </Connector>

        c、修改https连接器内容,包含端口号、秘钥库文件路径,以及配置秘钥的口令(就是再生成秘钥文件时设置的口令)

  1. <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
  2. maxThreads="150" SSLEnabled="true">
  3. <SSLHostConfig>
  4. <Certificate certificateKeystoreFile="conf/tomcat.keystore"
  5. type="RSA" certificateKeystorePassword="123456" />
  6. </SSLHostConfig>
  7. </Connector>
        备注:浏览器访问8080端口的连接器时,会以加密的方式来访问web服务器,连接器收到浏览器的请求后,会向浏览器出示一份数字证书,浏览器再用数字证书里面的公钥来加密数据, certificateKeystoreFile="conf/tomcat.keystore"用来指明**库文件的所在路径,服务器从**库中提取证书时需要密码,certificateKeystorePassword="123456"指明**库的访问密码。(tomcat8及8一下的版本配置的是keystoreFile="conf/.keystore"keystorePass="123456"

四、启动Tomcat,使用https://localhost:8080/进行访问测试。