Tomcat - http https 云端配置

时间:2022-12-25 15:19:27

这两天在申请新的备案。然后花式因为网站名被拒,内心无比悲凉。

有一次被拒的理由是 无法访问到 原备案网址。才发现备案后网站网址必须可以访问(裸域名)

这里写一下,防坑同时造福大众

1.实现无端口跳转 和 http 自动跳转 https

1)腾讯云-证书安装指引

https://cloud.tencent.com/document/product/400/4143#4.-tomcat-.E8.AF.81.E4.B9.A6.E9.83.A8.E7.BD.B2

具体就是找到你的 tomcat 目录,将 conf 文件夹中的 server.xml 配置文件 根据以下格式修改

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    keystoreFile="conf/www.domain.com.jks"
    keystorePass="changeit"
    clientAuth="false" sslProtocol="TLS" />

keystoreFile 是你的 jks 文件所在目录 下面那个是密码。你在申请 ssl 证书之后可以通过生成器生成。

2)修改端口号 

<Connector port="80" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="443" />

在这里把默认 port 口改成 80,因为 80 端口可以支持无端口号跳转。

同时在安全组中打开 80 端口通讯 和 443 端口通信

以腾讯云为例 

快速添加: 添加规则时最前方课选择 http https 类型。 出入站都要添加

Tomcat - http https 云端配置

3)在 web.xml 后加入这一串

 <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>

以上规定了所有跳转的目标为 ssl 

2.重启服务器

接下来就可以直接访问了!