针对linux tomcat服务器 配置https协议
声明:本方法是本人在阿里云linux服务器环境配置https协议总结
配置方法大致跟在windows环境中配置tomcat服务https协议相同
步骤:
1. 生成个人CA证书(该证书只适用于测试使用)
2. 配置tomcat运行配置文件server.xml
3. 配置tomcat服务web.xml,实现将http请求转换成https请求
4. 在浏览器端导入安全证书,去除网页头部不安全提示
生成个人CA证书
可以参考我的另外一个微博中证书生成的方式生成,然后使用工具转换成tomcat服务器识别的pfx格式证书
鉴于上面的方法比较容易出错而且比较繁琐,本文介绍一个使用申请免费证书的方法,更接近生产环境的使用情况。
条件:1.个人或公司申请的阿里云服务器
2.个人或公司申请的有效域名并且添加了dns解析到了上面那台阿里云服务器的ip
步骤:
1.登录个人或公司阿里云服务器管理控制台 https://account.aliyun.com/login/login.htm
2.选配证书
可通过登录云盾证书服务购买页面购买免费型DV SSL数字证书。
点击补全证书信息,将证书与个人或公司域名绑定
注意:域名必须是个人或公司有效域名并且正确设置了dns域名解析,否则审核无法通过,因为免费证书的审核是程序自动审核的,一般在一个小时内就能完成审核。审核后证书状态会跟域名
审核通过后证书状态会变成已签发,这时该证书就是由正规机构签发的安全证书,能彻底解决个人证书无法被浏览器认可成不安全的问题。
证书生成后,可以按照服务器类型不同下载不同格式的安全证书。
将证书导入到tomcat的安装目录中 建议创建一个证书文件夹专门存放证书cert。
配置tomcat运行配置文件server.xml
Xml代码
1. <!--
2. <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
3. maxThreads="150" scheme="https" secure="true"
4. clientAuth="false" sslProtocol="TLS" />
5. -->
将上面的注释去掉更改成下面的配置
Xml代码
6. <Connector port="8443"
7. protocol="HTTP/1.1"
8. SSLEnabled="true"
9. scheme="https"
10. secure="true"
11. keystoreFile="/root/fbc/tomcat/cert/214358571480808.pfx" --证书存放位置
12. keystoreType="PKCS12"
13. keystorePass="214358571480808" --证书生成密码默认为下载的安全证书文件名
14. clientAuth="false"
15. SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
16. ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
17.
18.
注意:建议将证书密码记住之后,将证书文件重命名之后再上传到服务器cert文件夹中
配置tomcat服务web.xml,实现将http请求转换成https请求
如果想设置强制跳转至https连接在项目下的web.xml中添加下面一段配置:
<security-constraint>
<web-resource-collection>
<web-resource-name>security</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
重启服务器之后直接输入域名地址 域名:8080/就能自动跳转到安全协议连接