SSL免费证书及tomcat下使用https访问

一、申请SSL证书

1.在腾讯云申请

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

在以上页面中选择免费版:

点击免费申请即可。

申请后会有一个详细的说明,按照说明操作,即可。

(我这里申请过后,按照教程,并没有验证验证成功,最后是在阿里云完成的)

2.在阿里云申请

https://common-buy.aliyun.com/?spm=a2c4e.11155515.0.0.5f592f3aYCJ8fD&commodityCode=cas#/buy

同样找到免费的申请即可。

若域名是在阿里云的,可以在域名详情页找到“免费开启SSL证书”:

然后下载证书文件即可。

二、安装SSL证书

安装方法阿里云个腾讯云都有详细的说明,这里以阿里云的教程作为参考:

安装教程

按照教程做一般不会有什么问题。

三、Tomcat配置SSL

证书安装完成后需要在tomcat的conf目录下修改server.xml和web.xml

1. 修改server.xml:

在原有的节点下添加:

<Connector port="443"
protocol="HTTP/1.1"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="cert/证书文件.pfx"
keystoreType="PKCS12"
keystorePass="密码"
clientAuth="false"
sslProtocol="TLS" />

注意端口号、keystoreFile、和keystorePass。

keystoreFile:证书文件,以.pfx结尾(当然还有另一种.jks,我用的是.pfx)
keystorePass:密码

这个在下载的证书压缩包里边都有。

注意:阿里云服务器并没有开放443端口,所以需要在控制台配置安全组,开放443.

完成后,重启tomcat,输入https://xxx即可访问了。但是对于输入是http://xxx的还是http,不会直接跳转到https。所以还需要修改web.xml。

2. 修改web.xml:

在/conf下的web.xml的末尾(之前)添加如下内容

<security-constraint>

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

保存重启tomcat即可。


当所有配置完成后,访问Https站点,出现绿色的小标志:

代表配置成功。

可能打开有些页面发现并没哟这个标志,原因是这个页面中并非所有链接都是https的,修改这些链接为https即可。

原文地址:https://www.cnblogs.com/cnsec/p/13286659.html