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

三、配置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/进行访问测试。
配置Tomcat使用HTTPS协议,你需要完成以下步骤: 1. 生成SSL证书:首先,你需要生成一个SSL证书,可以通过自签名证书或者购买CA颁发的证书来实现。你可以使用Java的`keytool`工具来生成自签名证书,例如: ``` keytool -genkey -alias tomcat -keyalg RSA -keystore keystore.jks -validity 365 ``` 在生成证书时,你需要提供一些相关信息,如证书别名、密钥算法等。 2. 配置Tomcat Connector:编辑Tomcat的配置文件(`server.xml`),找到Connector相关的配置项。添加以下配置项以启用HTTPS连接: ```xml <Connector port="443" protocol="HTTP/1.1" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" keystoreFile="/path/to/keystore.jks" keystorePass="password" keyAlias="tomcat" /> ``` 其中,`port`指定HTTPS监听端口(一般为443),`keystoreFile`指定证书存储路径和文件名,`keystorePass`是证书密码,`keyAlias`是证书别名。 3. 配置Tomcat的SSL协议和加密算法:在Connector中添加以下配置项以指定SSL协议和加密算法: ```xml <Connector ...> ... <SSLHostConfig> <Certificate certificateKeystoreFile="/path/to/keystore.jks" certificateKeystorePassword="password" certificateKeyAlias="tomcat" /> <Protocols> <Protocol name="HTTP/1.1" /> <Protocol name="org.apache.coyote.http11.Http11NioProtocol" sslImplementationName="org.apache.tomcat.util.net.jsse.JSSEImplementation" honorCipherOrder="true" honorCipherOrder="true" honorCipherOrder="true"> <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> </Protocol> </Protocols> <Ciphers> <Cipher>AES128-GCM-SHA256</Cipher> <Cipher>AES256-GCM-SHA384</Cipher> ... </Ciphers> </SSLHostConfig> </Connector> ``` `certificateKeystoreFile`、`certificateKeystorePassword`和`certificateKeyAlias`的值与上一步中的配置相同。`Protocols`指定协议,`Ciphers`指定加密算法。 4. 重启Tomcat:保存配置文件并重启Tomcat服务器,使配置生效。 完成以上步骤后,Tomcat就可以使用HTTPS协议进行访问了。请确保证书的安全性,并根据需要调整SSL协议和加密算法的配置
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值