指南 · 约 3 分钟阅读

修复 HTTPS 跳转和混合内容

一次干净的 HTTPS 跳转,没有不安全的资源,再加上一张能自动续期的证书。

更新于 · HackGrade

代码和配置保持英文。

把 HTTP 跳转到 HTTPS

nginx
server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://example.com$request_uri;
}
.htaccess
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

在用 Cloudflare?请使用 SSL/TLS 的 Full (strict) 模式。“Flexible”模式通过 HTTP 与你的服务器通信,再加上服务器端的跳转,就会造成无限跳转循环。

修复混合内容

混合内容是指在 HTTPS 页面上通过 http:// 加载的任何内容。可以在 DevTools → Console 或你的 HackGrade 结果中找到它。在 WordPress 中,先在设置 → 常规中更新站点地址,然后替换数据库中的旧链接(先用 --dry-run 试运行):

shell
wp search-replace 'http://example.com' 'https://example.com' --skip-columns=guid --dry-run

作为兜底,CSP 指令 upgrade-insecure-requests 会让浏览器通过 https:// 获取 http:// 资源。

保持证书自动续期

整个行业的证书有效期都在缩短,所以续期必须自动化。使用 certbot:

shell
sudo certbot renew --dry-run

参考资料

相关指南

免费 · 即时 · 无需注册

抢在别人之前了解你的评级。

被动扫描。未经你的许可,不会进行任何攻击性检测。

免费开始。付费套餐每月 12 美元起,或 29 美元购买单次报告。 查看价格