Https相关介绍
Https是由NetScape公司设计的一个基于Http的加密传输协议,可以这样理解Https = Http +SSL(安全套接层),Https的端口为443,而且还需要申请CA数字证书认证。
3.Https的设置
①申明CA数字证书
这里推荐一个免费的阿里平台的CA数字证书,点击申请 点击Symantec>选择证书类型增强型OV SSL,然后就会出现免费DV SSL。
进入证书控制台>点击申请签发证书>填写申请信息,证书绑定你自己的域名:www.f8xn.top,等待申核。SSL证书:几分钟-几小时左右可签发。
域名授权验证
RAM访问控制,同意授权
授权系统自动添加TXT解析记录,自动完成域名授权验证(会在域名解析中自动增加一条txt记录)。
数字证书有效期是在审核通过之后的1年内有效。免费证书只参绑定一个域名。
tomcat也可配置手动生成的SSL证书,这里不再介绍。
SSL证书安装/配置
Tomcat6之前支持JKS格式证书,从Tomcat7之后开始支持PFX格式证书。
审核通过后到证书控制台下载SSL证收, 包含PFX格式证书和密码文件。
阿里云的服务器,只支持端口443!,所以我们配置<Connector port="8443 />"节点时,填端口改成443。
并在阿里云上面添加开放443端口,才可以用https访问Tomcat的网站(重点)。开放端口时选择协议类型https443。
在你的tomcat目录下,新建目录/apache-tomcat-8/conf/cert,把你的证书_www..com.pfx拷贝进来。
修改server.xml
vim /apache-tomcat-8/conf/cert/server.xml
HTTP证书路径keystoreFile建议使用绝对路径/apache-tomcat-8/conf/cert/_www.com.pfx
证书密码填写刚才pfx-password.txt里的密码keystorePass="yKmbolin"。
在protocol中建议使用“org.apache.coyote.http11.Http11Protocol”,这样对性能有最大的优化。(但是这样会不支持中文URIEncoding="UTF-8"。)
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" scheme="https" secure="true" keystoreFile="/apache-tomcat-8/conf/cert/***_www.***.com.pfx" keystoreType="PKCS12" keystorePass="yKmbolin" 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"/>
tomcat6 JKS格式证书
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" keystoreFile="/apache-tomcat-8/ssl/server.jks" keystorePass="123456" truststoreFile="/apache-tomcat-8/ssl/server.jks" truststorePass="123456" sslProtocol="TLS" />
clientAuth=”true”,则开启双向认证,客户端访问需要有客户端证书;
keystoreFile 和 trustStroreFile 传入您制作好的 JKS 文件的路径,示例中以 server.jks 为例;
keystorePass 和 trustStrorePass 传入您的 JKS 的密码,示例中以 jks 的密码 123456 为例。
Http自动跳转Https
①编辑conf/web.xml文件
②在web.xml 文中上行</web-app>加上如下配置:
<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> 然后 :wq保存并退出。 ③重启Tomcat服务 输入 ./startup.sh
保存退出。重启tomcat即可。
/apache-tomcat-85/bin/shutdown.sh
/apache-tomcat-8/bin/startup.sh
打开测试 https://www.***.com
查看网站的安全证书,在开发者工具上
按F12>Security>View certificate。
注意tomcat和jdk版本要各自支持
来自:https://www.cnblogs.com/f8xn/articles/10217768.html
https://blog.csdn.net/gary_yan/article/details/77981303