Undertow强制HTTPS与带 www 跳转到不带 www_美橙互联 Java 主机可用方案
Java 站点从 HTTP 切 HTTPS,带 www 跳转到不带 www 是权重不丢的关键。Undertow 加载 JKS 格式证书,再配 redirectPort 与安全约束,整站 301 能在 24 小时内被百度识别。
把 JKS 格式证书 转成 Undertow 能识别的格式,PFX 直接用 keytool 导入 JKS,PEM 先用 OpenSSL 合成 PFX 再导入。密钥库文件放在 conf 目录下,文件权限设为 600,防止被其他用户读取。
配置参考(Spring Boot application.yml): ``` server: port: 443 ssl: key-store: classpath:域名.pfx key-store-password: 证书密码 key-store-type: PKCS12 ```
如果 Undertow 前面挂了 Nginx 或 Apache 反代,SSL 可以卸载在前端,Undertow 只跑 8080。反代层配置 443 证书与 80 跳转 443,再把请求转发到 127.0.0.1:8080,同时透传 X-Forwarded-Proto,避免应用里反复判断协议。
web.xml 加 security-constraint,web-resource-collection 里 url-pattern 填 /*,auth-constraint 留空,user-data-constraint 里 transport-guarantee 填 CONFIDENTIAL。容器检测到请求走 HTTP,会自动返回 302 或 301 跳到 HTTPS。要严格 301,配合 redirectPort 或在反代层做 Rewrite。
常见坑:证书过期。排查顺序是先看容器日志,再看证书链,再看端口与安全组。443 端口在云服务器安全组、系统防火墙、容器监听三处都要放行,少一处都连不上。证书密码含特殊字符要在 server.xml 里用 & 转义。
HTTPS 对百度排名有明确加成,百度 HTTPS 认证 要同步做。页面里的 canonical 指向 HTTPS 版本,sitemap 全部换成 HTTPS 链接, robots.txt 里的 Sitemap 地址也更新。旧 HTTP 外链不用主动改,301 会把权重带过来,强行改外链反而可能触发异常。

更新时间:2026-09-03 15:01:58
上一篇:35互联虚拟主机PbootCMS故障_PbootCMS内页404