tomcat的https配置
- 1、下载证书
- 2、配置证书
- 1.上传文件到服务器
- 2、编辑conf/server.xml文件
- 3、配置http自动跳转到https
- 4、最后重启tomcat服务器
- 5、测试
1、下载证书
申请域名并通过审核后就可以下载电子证书
点击选择我的证书

我这里选择免费证书
然后按照提示下载 tomcat 的相关证书

会有两个文件,一个是.pfx密钥文件文件,一个.txt密码文件
2、配置证书
1.上传文件到服务器
在你的服务器tomcat目录下建一个cert文件夹,如下
/usr/local/tomcat/apache-tomcat-9.0.34/cert
把.pfx和.txt文件放到里面(.txt密码可以不放)
2、编辑conf/server.xml文件
Tomcat 9强制要求证书别名设置为tomcat。您需要使用以下keytool命令将protocol="HTTP/1.1"转换成protocol=“org.apache.coyote.http11.Http11NioProtocol”
your.pfx是你证书.pfx的名字(注意.pfx文件的路径要根据自己的路径)
keytool -changealias -keystore your.pfx -alias alias -destalias tomcat
编辑conf/server.xml文件
如果你没有执行上面的命令,可以直接protocol=“org.apache.coyote.http11.Http11NioProtocol” 代替protocol=“HTTP/1.1”
<Connector port="443" #port属性根据实际情况修改(https默认端口为443)protocol="HTTP/1.1"SSLEnabled="true"scheme="https"secure="true"keystoreFile="Tomcat安装目录/cert/your.pfx" #证书名称前需加上证书的绝对路径,请使用您证书的文件名替换your。keystoreType="PKCS12"keystorePass="证书密码" #请替换为密码文件pfx-password.txt中的内容。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"/>
3、配置http自动跳转到https
在conf/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>
同时,
将8080端口改为80,8443改为443

将8009处的8443改为443

这样https请求时就不用自动附带8443端口了。
4、最后重启tomcat服务器
在tomcat的bin目录下
执行以下命令关闭Tomcat服务器
./shutdown.sh
执行以下命令开启Tomcat服务器
./startup.sh
5、测试

回车

跳转到https。











