给tomcat部署的网站配置https

场景

公司ios开发需要服务api都基于https,所以最近摸索了一下。
服务器部署在阿里云上,本来想直接找let encrypt 或者 trustAisa 的免费证书。但是搜了一些博客发现,阿里云服务器配置第三方的CA证书,还需要在阿里云上配置一个中间证书,感觉这样不太好,刚好阿里云官网也提供免费的CA证书,所以直接使用阿里云的。如下图所示。

给tomcat部署的网站配置https_第1张图片

配置方法

购买好免费的服务大概半小时证书就会签发,在后台界面可以看到官网文档,nginx,tomcat,apache,IIS各种都有。

我们看到tomcat里有三个步骤,其实这是个坑,因为不需要那么麻烦,直接用步骤2即可。
从阿里云后台下载好证书文件,把pfx后缀的文件复制到新建的tomcat/conf/cert目录下。
然后修改conf目录下的server.xml文件,添加如下内容:

<Connector port="443"
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="cert/214532761540893.pfx"
    keystoreType="PKCS12"
    keystorePass="你的证书密码在pfx-password.txt文件内"
    clientAuth="false"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
      ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

另外将8080端口改为80,redirectPort端口8443改为443。

还要将http的url跳转至https
在web.xml末尾加上如下配置:

<security-constraint>
    <web-resource-collection >
              <web-resource-name >SSLweb-resource-name>
              <url-pattern>/*url-pattern>
       web-resource-collection>
       <user-data-constraint>
       <transport-guarantee>CONFIDENTIALtransport-guarantee>
       user-data-constraint>
security-constraint>

重启Tomcat服务大功告成。

你可能感兴趣的:(【JavaWeb】,【信息安全】)