Undertow配置付费 OV 证书实现动态地址 301 到伪静态地址_Java虚拟主机HTTPS迁移
Java 站点从 HTTP 切 HTTPS,动态地址 301 到伪静态地址 是权重不丢的关键。Undertow 加载 付费 OV 证书,再配 redirectPort 与安全约束,整站 301 能在 24 小时内被百度识别。
证书准备阶段,付费 OV 证书 下载后通常是 PFX 或 PEM 格式,Undertow 常用 JKS 库。用 阿里云证书助手 把证书转成 JKS,设置不少于 16 位的密钥库密码,把域名证书、中间证书、根证书合成一条链,避免浏览器报不安全连接。
配置参考(keytool 导入 PFX 到 JKS): ``` keytool -importkeystore -srckeystore 域名.pfx -srcstoretype PKCS12 -destkeystore 域名.jks -deststoretype JKS ```
如果 Undertow 前面挂了 Nginx 或 Apache 反代,SSL 可以卸载在前端,Undertow 只跑 8080。反代层配置 443 证书与 80 跳转 443,再把请求转发到 127.0.0.1:8080,同时透传 X-Forwarded-Proto,避免应用里反复判断协议。
强制 HTTPS 的第二种做法是在 Undertow 前端用 Nginx:server 监听 80,return 301 https://$host$request_uri;443 的 server 里配 ssl_certificate 与 ssl_certificate_key,再 proxy_pass 到 Undertow 的 8080。这种方式证书管理集中,性能也更好。
HSTS 响应头加上 Strict-Transport-Security: max-age=63072000; includeSubDomains; preload,浏览器后续访问强制走 HTTPS,减少 301 跳转次数。注意 HSTS 一旦开启,短期内无法回退 HTTP,确认 HTTPS 稳定后再加。
整站 301 期间保持服务器稳定,返回码统一 301,不要出现 302、303、js 跳转、meta refresh 混用。百度对 301 的权重传递最完整,其他跳转方式会损失权重或被判定为作弊。跳转链不要超过 1 层,多层 301 会延迟收录迁移。

更新时间:2026-08-27 11:50:17