Spring Boot 内嵌容器配置 证书实现index.jsp 跳转到根目录_Java虚拟主机HTTPS迁移
华为云 Java 主机 部署 SSL 后不做 301,百度会同时收录 HTTP 与 HTTPS 两套页面,权重被稀释。Spring Boot 内嵌容器 配合 Let's Encrypt 证书,把 index.jsp 跳转到根目录 做扎实,收录和排名才能平稳迁移。
证书准备阶段,Let's Encrypt 证书 下载后通常是 PFX 或 PEM 格式,Spring Boot 内嵌容器 常用 JKS 库。用 OpenSSL 把证书转成 JKS,设置不少于 16 位的密钥库密码,把域名证书、中间证书、根证书合成一条链,避免浏览器报不安全连接。
配置参考(Spring Boot application.yml): ``` server: port: 443 ssl: key-store: classpath:域名.pfx key-store-password: 证书密码 key-store-type: PKCS12 ```
server.xml 里新增一个 Connector,port 设为 443,protocol 用 org.apache.coyote.http11.Http11NioProtocol,SSLEnabled 设为 true,keystoreFile 指向 JKS 路径,keystorePass 填密钥库密码,keyAlias 填证书别名。原 80 端口的 Connector 加上 redirectPort="443",所有 HTTP 请求自动跳到 HTTPS。
带 www 与不带 www 的首选域要定一个。Nginx 里单独写一个 server 监听 443、server_name 带 www,return 301 https://主域名$request_uri。Spring Boot 内嵌容器 层不用动,所有跳转集中在反代,规则清晰好维护。
常见坑:中间证书缺失。排查顺序是先看容器日志,再看证书链,再看端口与安全组。443 端口在云服务器安全组、系统防火墙、容器监听三处都要放行,少一处都连不上。证书密码含特殊字符要在 server.xml 里用 & 转义。
整站 301 期间保持服务器稳定,返回码统一 301,不要出现 302、303、js 跳转、meta refresh 混用。百度对 301 的权重传递最完整,其他跳转方式会损失权重或被判定为作弊。跳转链不要超过 1 层,多层 301 会延迟收录迁移。

更新时间:2026-08-26 22:00:50