一、申请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即可。