Tomcat强制HTTPS与带 www 跳转到不带 www_阿里云 Java 虚拟主机可用方案
做 带 www 跳转到不带 www,核心是把证书正确装进 Tomcat,再用 301 把旧地址的权重一次性带过去。阿里云 Java 虚拟主机 上操作空间有限,配置集中在 server.xml 与 web.xml,改完重启容器即可生效。
免费证书有效期 90 天,付费证书 1 到 2 年。PFX 格式证书 部署到 Tomcat 前用 OpenSSL 转换格式,记录好到期时间,提前 15 天续签,避免证书过期导致站点被浏览器拦截。
配置参考(Nginx 反代 + 80 跳转 443): ``` server { listen 80; server_name 域名; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name 域名; ssl_certificate /etc/nginx/ssl/域名.pem; ssl_certificate_key /etc/nginx/ssl/域名.key; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; } } ```
server.xml 里新增一个 Connector,port 设为 443,protocol 用 org.apache.coyote.http11.Http11NioProtocol,SSLEnabled 设为 true,keystoreFile 指向 JKS 路径,keystorePass 填密钥库密码,keyAlias 填证书别名。原 80 端口的 Connector 加上 redirectPort="443",所有 HTTP 请求自动跳到 HTTPS。
强制 HTTPS 的第二种做法是在 Tomcat 前端用 Nginx:server 监听 80,return 301 https://$host$request_uri;443 的 server 里配 ssl_certificate 与 ssl_certificate_key,再 proxy_pass 到 Tomcat 的 8080。这种方式证书管理集中,性能也更好。
上线后 24 小时内观察百度抓取。站长平台提交 HTTPS 认证,把 HTTP 版本设为改版跳转目标,提交改版规则。旧地址返回 301,新地址返回 200,百度会在 1 到 4 周内把收录和权重迁移过去,期间不要关闭 301。
整站 301 期间保持服务器稳定,返回码统一 301,不要出现 302、303、js 跳转、meta refresh 混用。百度对 301 的权重传递最完整,其他跳转方式会损失权重或被判定为作弊。跳转链不要超过 1 层,多层 301 会延迟收录迁移。

更新时间:2026-09-01 15:17:23