一:证书配置
下载已签发的证书、选择 Tomcat 版本
- 进入 Tomcat 目录创建个
cert
文件夹 - 将下载好的
SSL
证书压缩包里的文件、拷进cert
文件夹。 - 找到安装
Tomcat
目录下在conf
文件夹中的server.xml
文件。
找到如下代码
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
/>
然后再下方添加如下代码
<Connector port="443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true"
scheme="https"
secure="true"
keystoreFile="cert/www.itmrhuang.com.pfx"
keystoreType="PKCS12"
keystorePass="xuhay76l"
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 文件里的内容。其他不用动
最后 重启 Tomcat 即可通过 HTTPS 进行访问。
(确保服务器安全组确认已开启 443 端口,如果已经安装了宝塔面板的话,也得在宝塔里面开启安全组443端口)
二:Tomcat配置 http自动跳转 https
注意:
在
server.xml
中不能写中文注释
,不然编译不通过,就很离谱!!!😓
首先确保上面配置后,https能够正常访问后,在进行配置 http自动转https
开始:
1:在 server.xml 文件的 <Host> 标签内,添加一个新的 <Valve> 以启用重定向。
添加以下配置:
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
这将启用 URL 重写功能。
2:在 Tomcat 的 conf 目录中,创建一个名为 rewrite.config
的文件,用于配置重写规则。
接着在 rewrite.config 文件中,添加以下内容:
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
这段配置表示,如果请求是通过非 HTTPS 发起的,将其重定向到对应的 HTTPS URL。
3:保存所有更改,然后重新启动 Tomcat 以应用新配置。
完成以上步骤后,当客户端通过 HTTP 访问您的 Web 应用程序时,它将被自动重定向到相应的 HTTPS URL
附录:
其实我已经配置cdn,并且在ssl证书服务里面,点击部署,将ssl证书部署到了cdn上,理论上来说就不必再tomcat服务这边再配置了,因为你既然配置分发网络服务,那么咱们所有访问理应通过cdn节点,但是感觉貌似不好使,会遇到一些意想不到的问题(要么浏览器缓存问题,要么本地缓存问题,要么本地网络与dns缓存需要清理,要么....),头疼,然后索性在tomcat服务器上配置 ssl