响应苹果ATS号召,以后的开发都要使用https加密。可是公司这次上的项目预算经费有限,所以决定
先临时使用赛门铁克的免费DV SSL证书上线。以后根据需求在进行升级,必经一个证书的价格不菲呀。
首先现在这里说一下https证书的种类之间的区别,以便小伙伴们根据需要进行选择。证书主要分为
DV,OV,和EV三种,他们的具体区别如下:
1.域名型(DV SSL),即只对域名的所有者(一般是域名管理员邮箱,比如admin@hotmail.com)进行在线检查,具体是发送验证邮件给域名管理员或以该域名结尾的邮箱至于该域名的管理员是真实注册的单位还是另有其人,就不得而知了。
2.企业型 SSL 证书(OV SSL) ,是要购买者提交组织机构资料和单位授权信等在官方注册的凭证,认证机构在签发SSL证书前不仅仅要检验域名所有权,还必须对这些资料的真实合法性进行多方查验,只有通过验证的才能颁发SSL证书。
3.增强型 SSL 证书(EV SSL) ,与其他SSL证书一样,都是基于SSL/TLS,都是用于网站的身份验证和信息在网上的传输加密。它跟普通SSL证书的区别也是明显的,安全浏览器的地址栏变绿,如果是不受信的SSL证书则拒绝显示,如果是,地址栏则会变成红色,以警示用户。
我们这次选择的是阿里云的免费DV证书,签发很快,从申请到下发不到1小时就OK了。要是花钱的证书审核比较严格3-5天时间不等
申请完后,对证书内容进行填写和自己的域名进行关联,这里需要注意的是,免费证书的只能匹配一个固定的二级域名,要是需要使用多个二级域名的项目,就没有办法实现了。因为域名也是在阿里云上,所以直接点击推送就行,要是域名不在阿里云上的小伙伴需要配置下域名解析,可以参照阿里云的指引即可
然后就可以开始配置Tomcat服务器啦,首先在tomcat目录下新建一个cert文件夹,降下载好的证书包解压缩到这个文件夹里
找到安装Tomcat目录下该文件server.xml,一般默认路径都是在 conf 文件夹中。找到 <Connection port="8443"标签,增加如下属性:
keystoreFile="E:\apache-tomcat-8.0.41\cert\214*******09.pfx" keystoreType="PKCS12" #此处的证书密码,请参考附件中的密码文件或在第1步中设置的密码 keystorePass="证书密码"
完整的配置如下,其中port属性根据实际情况修改:
protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" keystoreFile="E:\apache-tomcat-8.0.41\cert\214*******09.pfx" keystoreType="PKCS12" keystorePass="证书密码" clientAuth="false" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2" 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"/>
这样配置完成后,发现tomcat服务并不能启动,报如下错误:
java.lang.Exception: Connector attribute SSLCertificateFile must be defined when using SSL with APR”
org.apache.catalina.core.StandardService.initInternal Failed to initialize connector [Connector[HTTP/1.1-80]]
org.apache.catalina.LifecycleException: Failed to initialize component
简单的方法,注释掉arp即可。
<!--Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /-->
本文出自 “3416549” 博客,请务必保留此出处http://3426549.blog.51cto.com/3416549/1977734
原文地址:http://3426549.blog.51cto.com/3416549/1977734