Tomcat配置成https访问

最近接到一个项目,客户的项目可能会被外网访问,所以需要把发布的项目做成https的协议,客户提供了.cre和.key的证书,由于之前没有接触过https的相关知识,只知道https可以对浏览器发送到服务器的数据进行加密处理,通过不同的博客整理了一下思路,想要实现https的部署要经过:

1.tomcat支持的SSL证书是.jks,所以第一步需要把.cre和.key的证书转成.jks的,关于这些证书的区别可以参考https://blog.freessl.cn/ssl-cert-format-introduce/,接下来就是怎么转换的问题,网上大部分的办法是通过linux系统中的openssl命令去把.cre和.key的证书转成pkcs12证书,再把pkcs12证书转成jks格式。测试过了确实可以,不过被朋友安利了一个网站可以直接转。。。(我都转完了他才告诉我)附上网址:https://www.myssl.cn/tools/merge-jks-cert.html

2.拿到了jks文件以后就需要把这个文件配置到tomcat中去了,因为我们的项目是打成war包发布到tomcat中的,另外如果是springboot项目是可以通过配置然后打成jar包实现https发布的,原理都是一样的,因为springboot项目通过的是内置的tomcat启动。这里我只讲一下tomcat的配置过程

首先把生成的.jks文件放到一个路径下面,推荐就放到tomcat下的conf下,因为我们要修改的就是conf下的server.xml,

找到

<!--
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
               maxThreads="150" SSLEnabled="true" >
        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
        <SSLHostConfig>
            <Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
                         certificateFile="conf/localhost-rsa-cert.pem"
                         certificateChainFile="conf/localhost-rsa-chain.pem"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>
    -->

 把注释去掉修改成以下配置,其中keystoreFile就是jks文件的路径,keystorePass就是生成jks文件时候的密码

    <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               keystoreFile="conf/my.jks" keystorePass="123456"
               clientAuth="false" sslProtocol="TLS">
    </Connector>

以上配置完成后如果要让其它的请求都跳转到https的话就需要把其它的请求的redirectPort配置到443,例如

<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="443" />

然后重启tomcat就可以用https访问拉~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值