HTTP 整站 301 到 HTTPS在Undertow上的实现_PFX 格式证书配置与301规则
Java 主机启用 HTTPS 并把 HTTP 流量 301 到 HTTPS,是站点上线前必须走完的一步。Undertow 容器加载 PFX 格式证书 后,80 端口的请求要统一跳到 443,避免同一页面出现 HTTP 与 HTTPS 两个版本分散权重。
把 PFX 格式证书 转成 Undertow 能识别的格式,PFX 直接用 keytool 导入 JKS,PEM 先用 OpenSSL 合成 PFX 再导入。密钥库文件放在 conf 目录下,文件权限设为 600,防止被其他用户读取。
配置参考(keytool 导入 PFX 到 JKS): ``` keytool -importkeystore -srckeystore 域名.pfx -srcstoretype PKCS12 -destkeystore 域名.jks -deststoretype JKS ```
Spring Boot 项目不用改 server.xml,在 application.yml 里配 server.port=443、server.ssl.key-store、server.ssl.key-store-password、server.ssl.key-store-type=PKCS12,再写一个 TomcatServletWebServerFactory 把 80 端口重定向到 443。
强制 HTTPS 的第二种做法是在 Undertow 前端用 Nginx:server 监听 80,return 301 https://$host$request_uri;443 的 server 里配 ssl_certificate 与 ssl_certificate_key,再 proxy_pass 到 Undertow 的 8080。这种方式证书管理集中,性能也更好。
配置完成后用 SSL Labs 检测评级 检查。curl -I http://域名 返回 301,Location 指向 https 地址;curl -I https://域名 返回 200,证书链完整。浏览器访问看地址栏小锁,点进去看证书有效期与颁发者。SSL Labs 跑分达到 A 才算合格。
证书到期前 15 天续签,续签后替换 JKS 文件并重启 Undertow。监控脚本每天 curl 一次 443,证书剩余天数小于 15 就告警。HTTPS 站点一旦证书过期,浏览器拦截、百度降权,恢复需要时间,提前监控成本最低。

更新时间:2026-08-30 15:44:15
上一篇:华夏名网虚拟主机查看目录占用空间_数据库大小与文件大小分别查