Undertow配置JKS 格式证书实现不带 www 跳转到带 www_Java虚拟主机HTTPS迁移
新网 Java 主机 部署 SSL 后不做 301,百度会同时收录 HTTP 与 HTTPS 两套页面,权重被稀释。Undertow 配合 JKS 格式证书,把 不带 www 跳转到带 www 做扎实,收录和排名才能平稳迁移。
JKS 格式证书 拿到手先核对域名、颁发者、有效期。Undertow 要求证书链完整,中间证书漏掉会导致部分浏览器和百度蜘蛛抓取失败。用 OpenSSL 转换时把完整链写进 JKS,一次到位。
配置参考(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。
不带 www 跳转到带 www 的规则写在反代层最省事。Nginx 里 if ($host = old.com) { return 301 https://new.com$request_uri; },Apache 里 RewriteCond %{HTTP_HOST} ^old.com$ [NC] 配合 RewriteRule ^(.*)$ https://new.com$1 [R=301,L]。规则改完 nginx -t 或 apachectl configtest 校验,再重载。
常见坑:Connector 配置错误。排查顺序是先看容器日志,再看证书链,再看端口与安全组。443 端口在云服务器安全组、系统防火墙、容器监听三处都要放行,少一处都连不上。证书密码含特殊字符要在 server.xml 里用 & 转义。
整站 301 期间保持服务器稳定,返回码统一 301,不要出现 302、303、js 跳转、meta refresh 混用。百度对 301 的权重传递最完整,其他跳转方式会损失权重或被判定为作弊。跳转链不要超过 1 层,多层 301 会延迟收录迁移。

更新时间:2026-08-26 23:53:11