Tomcat 服务器安装 SSL证书,实现 HTTP 自动跳转 HTTPS
本文以阿里云为例:
一、下载证书
1.1、登录阿里云:https://www.aliyun.com/
1.2、控制台搜索:SSL证书
1.3、进入 SSL证书控制台
1.4、申请免费 SSL证书,已有证书请跳过
1.5、下载已签发的证书、选择 Tomcat 版本
二、Tomcat 服务器配置
2.1、进入 Tomcat 目录创建个 cert 文件夹
2.2、将下载好的 SSL证书压缩包里的文件、拷进 cert 文件夹。
2.3、找到安装 Tomcat目录下在 conf 文件夹中的 server.xml 文件。找到 <Connection port="8443"标签,修改为:
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" scheme="https" secure="true" keystoreFile="cert/cert-1530000000000_www.XXXXXXXXX.com.pfx" keystoreType="PKCS12" keystorePass="XXOOXXOO" 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"/>
keystoreFile :cert文件夹下的 .pfx 文件。
keystorePass :cert文件夹下 pfx-password.txt 文件里的内容。
2.4、重启 Tomcat 即可通过 HTTPS 进行访问(确认已开启 443 端口)
三、配置自动跳转 HTTPS
3.1、找到安装 Tomcat目录下在 conf 文件夹中的 server.xml 文件。找到 <Connector port="80" 标签,修改redirectPort参数值为"443"。完整代码为:
<Connector port="80" maxHttpHeaderSize="8192" maxThreads="4000" minSpareThreads="1000" maxSpareThreads="2000" enableLookups="false" redirectPort="443" acceptCount="2000" connectionTimeout="20000" disableUploadTimeout="true" />
3.2、找到安装 Tomcat目录下在 conf 文件夹中的web.xml 文件。文件内容<web-app>...</web-app>标签中增加以下配置:
<login-config> <auth-method>CLIENT-CERT</auth-method> <realm-name>Client Cert Users-only Area</realm-name> </login-config> <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>
3.3、重启 Tomcat 即可。