西部数码 Java 主机HTTP 与 HTTPS 共存期平滑过渡怎么做_Undertow加载付费 OV 证书与301跳转配置
Java 主机启用 HTTPS 并把 HTTP 流量 301 到 HTTPS,是站点上线前必须走完的一步。Undertow 容器加载 付费 OV 证书 后,80 端口的请求要统一跳到 443,避免同一页面出现 HTTP 与 HTTPS 两个版本分散权重。
证书准备阶段,付费 OV 证书 下载后通常是 PFX 或 PEM 格式,Undertow 常用 JKS 库。用 阿里云证书助手 把证书转成 JKS,设置不少于 16 位的密钥库密码,把域名证书、中间证书、根证书合成一条链,避免浏览器报不安全连接。
配置参考(web.xml 强制 HTTPS):
```
Undertow 的 443 Connector 配置要点:SSLEnabled="true",scheme="https",secure="true",keystoreFile 与 keystorePass 正确填写。80 端口 Connector 保留并加 redirectPort="443",配合 web.xml 的 security-constraint 实现强制 HTTPS。
web.xml 加 security-constraint,web-resource-collection 里 url-pattern 填 /*,auth-constraint 留空,user-data-constraint 里 transport-guarantee 填 CONFIDENTIAL。容器检测到请求走 HTTP,会自动返回 302 或 301 跳到 HTTPS。要严格 301,配合 redirectPort 或在反代层做 Rewrite。
HSTS 响应头加上 Strict-Transport-Security: max-age=63072000; includeSubDomains; preload,浏览器后续访问强制走 HTTPS,减少 301 跳转次数。注意 HSTS 一旦开启,短期内无法回退 HTTP,确认 HTTPS 稳定后再加。
证书到期前 15 天续签,续签后替换 JKS 文件并重启 Undertow。监控脚本每天 curl 一次 443,证书剩余天数小于 15 就告警。HTTPS 站点一旦证书过期,浏览器拦截、百度降权,恢复需要时间,提前监控成本最低。

更新时间:2026-08-27 09:58:16