Resin强制HTTPS与不带 www 跳转到带 www_阿里云 Java 虚拟主机可用方案
Java 站点从 HTTP 切 HTTPS,不带 www 跳转到带 www 是权重不丢的关键。Resin 加载 PFX 格式证书,再配 redirectPort 与安全约束,整站 301 能在 24 小时内被百度识别。
证书准备阶段,PFX 格式证书 下载后通常是 PFX 或 PEM 格式,Resin 常用 JKS 库。用 OpenSSL 把证书转成 JKS,设置不少于 16 位的密钥库密码,把域名证书、中间证书、根证书合成一条链,避免浏览器报不安全连接。
配置参考(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; } } ```
Resin 的 443 Connector 配置要点:SSLEnabled="true",scheme="https",secure="true",keystoreFile 与 keystorePass 正确填写。80 端口 Connector 保留并加 redirectPort="443",配合 web.xml 的 security-constraint 实现强制 HTTPS。
强制 HTTPS 的第二种做法是在 Resin 前端用 Nginx:server 监听 80,return 301 https://$host$request_uri;443 的 server 里配 ssl_certificate 与 ssl_certificate_key,再 proxy_pass 到 Resin 的 8080。这种方式证书管理集中,性能也更好。
常见坑:端口 443 未放行。排查顺序是先看容器日志,再看证书链,再看端口与安全组。443 端口在云服务器安全组、系统防火墙、容器监听三处都要放行,少一处都连不上。证书密码含特殊字符要在 server.xml 里用 & 转义。
证书到期前 15 天续签,续签后替换 JKS 文件并重启 Resin。监控脚本每天 curl 一次 443,证书剩余天数小于 15 就告警。HTTPS 站点一旦证书过期,浏览器拦截、百度降权,恢复需要时间,提前监控成本最低。

更新时间:2026-08-27 12:32:00