本文将介绍怎样使用 PFX 格式的证书配置 Tomcat8 的 HTTPS。
1、下载 PFX 格式的证书,我们以阿里云为例,下载 Tomcat 类型的证书,如:4556778_test.hxstrive.com_tomcat.zip,注意:test.hxstrive.com 是你自己的域名,将 zip 文件解压得到:4556778_test.hxstrive.com.pfx 和 pfx-password.txt。其中,pfx-password.txt 文件保存的是证书密钥。如下图:
2、准备一个 Tomcat8 安装包。
3、开启 443 端口。
1、进入到 Tomcat8 安装目录,在安装目录下新建 cert 目录,并且将解压的证书和密码文件拷贝到 cert 目录下。如下图:
2、修改 Tomcat 的配置文件 server.xml(路径:Tomcat安装目录/conf/server.xml),并保存。如下:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" keystoreFile="D:server omcat omcat-8.5.34-httpscert5249707_test.hxstrive.com.pfx" keystoreType="PKCS12" keystorePass="ajrQ5Ls2" 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 指定 PFX 格式证书的绝对路径
keystoreType 指定证书类型
keystorePass 指定 PFX 证书的密钥
clientAuth 表示是否开启客户端认证,false 表示不开启客户端认证
SSLProtocol 指定 SSL 的协议类型
执行 “Tomcat安装目录/bin/startup.bat” 脚本去启动 Tomcat,然后通过浏览器访问 https://test.hxstrive.com 。如下图:
如果你能正常看见页面,且地址栏前面有一个小锁图标,则表示 HTTPS 配置成功了。
如果你想在访问 HTTP 时自动跳转到 HTTPS 协议,可以修改你的 WEB 应用的 WEB-INF/web.xml 文件。在 </welcome-file-list> 标签后添加以下配置:
<login-config> <!-- Authorization setting for SSL --> <auth-method>CLIENT-CERT</auth-method> <realm-name>Client Cert Users-only Area</realm-name> </login-config> <security-constraint> <!-- Authorization setting for SSL --> <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>