Tomcat的Https设置及Http自动跳转Https

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

原文地址:https://www.cnblogs.com/luck666/p/10221247.html