码迷,mamicode.com
首页 > Web开发 > 详细

在linux的tomcat中配置https及自动跳转

时间:2017-12-04 13:16:56      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:所有权   main   图片   tca   网上   blog   nbsp   tom   add   

      公司业务发展需要添加https,苹果在2017年1月1日以后认为https是安全的所以很多网站都进行了升级。苹果在iOS 9中引入的一项隐私保护功能,屏蔽明文http资源加载,连接必须经过更安全的https。苹果目前允许开发者暂时关闭ATS,可以继续使用HTTP连接,但到年底所有官方商店的应用都必须强制性使用ATS。,如果不升级苹果端是不支持的。

  说一下证书,由于http的协议和https的协议不一样,所以用的端口也不一样http是80而https是443,而且https协议是由SSL+http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。目前主流的SSL证书主要分为DV SSL 、 OV SSL 、EV SSL。

 

DV SSL

 DV SSL证书是只验证网站域名所有权的简易型(Class 1级)SSL证书,可10分钟快速颁发,能起到加密传输的作用,但无法向用户证明网站的真实身份。

目前市面上的免费证书都是这个类型的,只是提供了对数据的加密,但是对提供证书的个人和机构的身份不做验证。

 

OV SSL

提供加密功能,对申请者做严格的身份审核验证,提供可信身份证明。

 和DV SSL的区别在于,OV SSL 提供了对个人或者机构的审核,能确认对方的身份,安全性更高。

 所以这部分的证书申请是收费的~

 

EV SSL

 超安=EV=最安全、最严格 超安EV SSL证书遵循全球统一的严格身份验证标准,是目前业界安全级别最高的顶级 (Class 4级)SSL证书。

 金融证券、银行、第三方支付、网上商城等,重点强调网站安全、企业可信形象的网站,涉及交易支付、客户隐私信息和账号密码的传输。

 这部分的验证要求最高,申请费用也是最贵的。

我个人建议中小型网站选择DV和OV的证书就可以了,大型的网站选择EV。要是买证书的话我建议最好到阿里云上购买,如果不知道在哪里购买直接打客服就好了。

在购买完证书后会有四个文件

技术分享图片

(1)生成一个新的文件ssl-bundle.crt,如上图最后一个文件和第二个文件分别做如下

cat STAR_hqssjt_com.crt <(echo) COMODORSAAddTrustCA.crt  > ssl-bundle.crt 

生成一个新的文件ssl-bundle.crt 

2保存新的Key

 技术分享图片

把这个文件进行改名

 mv hqssjt.com.key domain_com.key

3生成p12文件

openssl pkcs12 -export -in ssl-bundle.crt -inkey domain_com.key -out domain_com.p12 -name tomcat -password pass:111111

4生成tomcat使用的.jks文件

keytool -importkeystore -v -srckeystore domain_com.p12 -srcstoretype pkcs12 -destkeystore domain_com.jks -deststoretype jks -srcstorepass ‘111111‘ -deststorepass ‘111111‘

5配置tomcatconfserver.xml文件

<Connector port=”80” 下面加入如下配置

               .......

               ......./>

 <Connector port="443"

               protocol="org.apache.coyote.http11.Http11NioProtocol"

               maxThreads="1800" #这个要和上面一段配置的参数一致

               SSLEnabled="true"

               scheme="https"

               secure="true"

               sslEnabledProtocols="TLSv1.2,TLSv1.1,TLSv1"

               clientAuth="false"

               sslProtocol="TLS"

               keystoreFile="/存放密码的路劲/domain_com.jks"

               keystorePass="111111" />

配置到这里https就配置完成了,访问的时候要在最前面加上https否则不会自动跳转至https,如果不加还会和以前一样是http

技术分享图片

 

所以这里又会出现一个问题如何让http自动跳转至https

 

6配置tomcat使其可以自动跳转至https,配置conf里的web.xml文件

在最后的字段中找到</login-config>4688行)和</web-app>中加入如下配置文件

 

<security-constraint>

 

        <!-- Authorization setting for SSL -->

 

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

7重启tomcat

测试访问 会自动跳转至https说明配置成功了

技术分享图片

技术分享图片

8遇见问题总结

在(2)(3)最好两个密码必须一致,密码不能设置太简单上面111111只是示例配置真实环境不可以这样。

在(5)的时候要写对路径和证书名字写错的话也是不正确的,这里的密码也和上面密码一致。

如果都配置完成了在微信里仍然访问不到https说明微信端配置的URL错误了,如果你是运维那现在就不关你的事情了,应该是前端或是微信开发的问题,让他们改一下url就好了

技术分享图片

这里仍然还是http,所以微信端依然访问不到页面,要把这里改成https才行。

最后验证

技术分享图片

 

配置https完成。

 

在linux的tomcat中配置https及自动跳转

标签:所有权   main   图片   tca   网上   blog   nbsp   tom   add   

原文地址:http://www.cnblogs.com/qingyuanyuanxi/p/7976429.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!