zoukankan      html  css  js  c++  java
  • 在tomcat中加入SSL腾讯云证书的步骤

    在tomcat中加入SSL证书,可以用https方式访问域名,增加域名的安全性。当然也有很多应用要求https访问,也是安全性的考虑。阿里云和腾讯云都提供SSL证书,还有一些其他的大公司也提供,我这里以腾讯云的SSL证书为例,说一下整个申请及设置的流程。

    第一步,申请免费的SSL证书。

    https://buy.cloud.tencent.com/ssl?fromSource=ssl

     

    需要登录才能申请,没有登录的情况下点击免费快速申请,会跳转到登录页面,登录后,会出要求填写一些信息,通用名称是需要绑定的域名,申请邮箱就是自己的邮箱,证书备注名可以填写,为了方便查看,没有特别的用途。私钥密码需要牢记,后面还会用到,比如我们写abcdef,

    点击下一步,会出现选择验证方式,可以手动DNS验证,也可以文件验证。

     

    大家可以查看详细说明,DNS验证应该简单些,可以直接在腾讯云上操作,分为手动DNS验证和自动DNS验证。我采用的是文件验证,也就是把文件下载下来,放到tomcat中进行验证的方式。选择文件验证,然后确认申请。出现以下的页面,平台会提供一个fileauth.txt文件,文件内容如下所示。

     

    按照提供的操作指引,一步步操作。

    这一步主要是把fileauth.txt放到我们申请的域名的服务器规定目录下,然后平台会扫描这个文件,如果能扫描到,就会提供一个SSL证书。这个时间应该比较快,有几分钟就差不多能通过审核,提供SSL证书下载。

    第二步,将SSL证书加入到tomcat中。

    通过审核后,就会出现SSL证书已颁发,提供了证书的下载。

    证书下载后,是一个压缩文件,解压后的目录结构。

     

    在根目录有一个xxx.com.csr的文件,在tomcat目录下有一个xxx.com.jks的文件,我们就使用jks这个SSL证书。

    在tomcat中安装SSL证书,大体按照指引文档就可以,略有区别。地址https://cloud.tencent.com/document/product/400/4143

    配置SSL连接器,将xxx.com.jks文件存放到conf目录下,然后配置同目录下的server.xml文件:

    <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"

        maxThreads="150" scheme="https" secure="true"

        keystoreFile="conf/www.domain.com.jks"

        keystorePass="changeit"

        clientAuth="false" sslProtocol="TLS" />

    此处,需要修改的地方主要有三处。Protocol,keystoreFile,keystorePass。

    protocol="org.apache.coyote.http11.Http11Protocol"

    keystoreFile="conf/xxx.com.jks",就是放到conf目录下的SSL证书文件。

    keystorePass="abcdef" ,就是前面设置的密钥密码。

    到conf目录下的web.xml。在</welcome-file-list>后面,</web-app>,也就是倒数第二段里,加上这样一段

    <login-config>

        <!-- Authorization setting for SSL -->

        <auth-method>CLIENT-CERT</auth-method>

        <realm-name>Client Cert Users-only Area</realm-name>

        </login-config>

        <security-constraint>

        <!-- Authorization setting for SSL -->

        <web-resource-collection>

        <web-resource-name>SSL</web-resource-name>

        <url-pattern>/*</url-pattern>

        </web-resource-collection>

        <user-data-constraint>

        <transport-guarantee>CONFIDENTIAL</transport-guarantee>

        </user-data-constraint>

        </security-constraint>

    这步目的是让非ssl的connector跳转到ssl的connector去。所以还需要前往server.xml进行配置:

    <Connector port="8080" protocol="HTTP/1.1"

        connectionTimeout="20000"

        redirectPort="443" />

    redirectPort改成ssl的connector的端口443,重启后便会生效。

     

  • 相关阅读:
    Android渐变GradientDrawable叠加组合环ring
    72.spring boot讨论群【从零开始学Spring Boot】
    71.mybatis 如何获取插入的id【从零开始学Spring Boot】
    Android GradientDrawable的XML实现
    服务器端架构及实战 — C#分享
    70.打印所有Spring boot载入的bean【从零开始学Spring Boot】
    69. JPA实体Bean的生命周期【从零开始学Spring Boot】
    Android版网易云音乐唱片机唱片磁盘旋转及唱片机机械臂动画关键代码实现思路
    服务器架构及实战(架构篇)- PHP建站
    创建MyOffice项目
  • 原文地址:https://www.cnblogs.com/coodream2009/p/9006988.html
Copyright © 2011-2022 走看看