Tomcat8.5服务器配置Https协议的SSL证书及Http自动跳转到Https
程序员文章站
2022-04-30 23:37:01
...
笔者用的是阿里云的服务器和免费证书(穷
首先 需要去阿里云的SSL证书管理控制台下载SSL证书
下过来是这样的:
然后 把证书中的pfx后缀的文件复制到 tomcat/conf/cert
目录下
也可复制到tomcat/cert
下 看自己喜好 只要配置的时候填写的路径一致即可
注:只需复制pfx文件
cert 目录默认是不存在的 需要自己创建
创建完了把pfx文件传上去即可
然后修改服务器的server.xml
文件
注:这是Tomcat8.5版本的配置 Tomcat7版本的配置文件是不一样的 Tomcat8好像也不一样
路径:Tomcat安装目录/conf/server.xml
第一步:定位到<Connector port="80"”
配置默认端口
改为:
<!-- 配置默认端口 -->
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
第二步:再定位到<Connector port="8443"
配置443端口的连接
改为:
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" >
<SSLHostConfig> <!--证书文件所在的目录 -->
<Certificate certificateKeystoreFile="conf/cert/*****.pfx"
certificateKeystoreType="PKCS12" certificateKeystorePassword="密码" />
</SSLHostConfig>
</Connector>
最后一步:再定位到<Connector port="8009"
配置默认转发端口
改为:
<!--默认转发端口-->
<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />
如果是阿里云的话 记得要开启相应的权限组 否则会被阿里云拦截 导致访问不了
完美!
这样就大功告成了?还没有
这样的话 用http协议还是能访问 只不过会提示不安全
我们还可以将http自动转为https
在conf/web.xml
下配置
在内容最底部加入如下配置(迟迟翻不到底的话 输入99999j 直接跳99999行 直接到底部):
<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>