一:证书配置
下载已签发的证书、选择 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
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论