一、前言
最近接手一个老项目进行维护,其中老项目是基于http的请求来的,所以导致用户在访问页面的时候总是弹出莫名其妙的广告,对用户的体验性特别不友好,而且安全性也有很大的隐患;然后就对http协议换为https,步骤如下 (此次是基于tomcat8.5、证书类型为.pfx 格式来的)
- 1、去CA机构申请SSL证书(阿里云、腾讯云都有免费一年的证书可以申请)
- 2、准备tomcat8.5 服务器
- 3、在tomcat根目录下创建一个固定文件夹 、将证书放入
- 4、配置conf/server.xml配置文件、conf/web.xml
二、实现步骤
1、准备证书
第一个文件为.pfx 格式的证书,第二个是密码 后面配置需要的;2、准备tomcat8.5
3、在tomcat根目录下创建一个固定文件夹 、将证书放入
4、配置conf/server.xml配置文件、conf/web.xml
conf/server.xml
<!-- 配置默认端口 -->
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
<!-- 配置证书文件信息 -->
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" >
<SSLHostConfig> <!--证书文件所在的目录 -->
<Certificate certificateKeystoreFile="cert/cert-*****i.com.pfx"
certificateKeystoreType="PKCS12" certificateKeystorePassword="xeh0VneU" />
<!--配置类型 刚才password文件里面的密码 -->
</SSLHostConfig>
</Connector>
<!--默认转发端口-->
<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />
conf/web.xml 在内容最底部加入如下http 自动转为 https 配置
<!-- 配置http 自动转为 https -->
<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>
三、测试
提示:需要使用签发的域名进行访问,如果使用ip访问的话浏览器会谈出不信任对话框的