SSL证书配置tomcat

感觉阿里的太繁琐,这要认证那要认证的,实在忍受不了,果断选国外的COMODO,一年也就169。

过程:

1、购买好证书,填写对应资料,找一个网上生成CSR的在线工具,将生成的私钥保存好(请务必保存好私钥key文件,证书安装的时候需要用到)

2、再这里可能需要做个域名所有权的认证,可以通过邮箱、DNS校验,校验通过后,很快就会把证书发送至你的邮箱。

3、下载证书,里面一般有四个主要文件,利用在线工具https://www.chinassl.net/ssltools/convert-ssl.html 合成pfx格式,各项选择如图:

4、这里我有两台服务器,一台是tomcat直接运行在宿主机上的,一台tomcat运行在docker容器中,运行在宿主机上的tomcat配置较简单,修改server.xml配置文件即可,记得将8443端口改成443,重启tomcat。

容器中的由于之前的运维部署的,不清楚具体run需要传递或映射哪些文件路径,所以这里不采用run映射的方式配置。配置流程:docker exec -it tomcat /bin/bash 命令进入容器,创建用于存放证书的路径,使用‘docker cp /本地  容器:容器路径 ’将宿主机上的证书传入docker容器中 ,修改server.xml配置文件,docker inspect tomcat | grep IPAddress 查看容器IP ,iptables -t nat -A  DOCKER -p tcp --dport 443 -j DNAT --to-destination 172.17.0.3:443 将宿主机443端口映射到docker容器中。至此整个证书的部署算是完成了,这里不建议大家采用这种方式部署,因为如果下次重新run一次容器,那所有的配置就都失效了。

5、最后附上一点关于tomcat如何将所有http请求自动跳转为https,在web.conf文件</welcome-file-list>中加这样一段:

<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>

猜你喜欢

转载自www.cnblogs.com/Luweiping/p/10858050.html