本文以阿里云为例:
一、下载证书
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 即可。