指南 · 约 4 分钟阅读

如何修复“不安全”警告

简短回答:这个警告表示你的页面通过未加密的 HTTP 加载,或者 HTTPS 页面仍在通过 HTTP 请求某些内容。安装免费的 TLS 证书,用永久 301 重定向把每个 http:// 地址转到 https://,把 CMS 切换为 https:// 网址,并修复混合内容。从 Chrome 154(2026 年 10 月)开始,Chrome 在打开公共 HTTP 页面前还会先征求访客同意,因此只支持 HTTP 的网站在访客看到之前就会流失访客。

更新于 · HackGrade

先检查你的网站。 免费扫描会告诉你需要做哪些修复。 SSL 与 HTTPS 检测

快速步骤

  1. 安装证书. 在主机控制面板中启用免费证书,或使用 Let’s Encrypt 和 Certbot。
  2. 将 HTTP 重定向到 HTTPS. 用 301 重定向把每个 http:// 请求发送到 https:// 地址。
  3. 切换网站网址. 在 WordPress 或 CMS 中把网站地址改为 https://。
  4. 修复混合内容. 通过 https:// 加载每张图片、每个脚本、字体和表单。
  5. 检查每一跳重定向. 确保从第一个链接到最终页面之间没有任何一步使用 HTTP。
  6. 添加 HSTS. 一切都能通过 HTTPS 正常运行后,让浏览器始终使用 HTTPS。

代码和配置保持英文。

这个警告到底是什么意思

当页面本身通过 HTTP 传输、没有加密时,浏览器会在地址栏显示“不安全”。同一 Wi-Fi 上的任何人、被入侵的路由器或网络运营商都能读取并修改访客发送和接收的内容,包括密码和联系表单。带警告的锁形图标,或 https:// 页面上没有锁形图标,通常意味着混合内容:页面是 HTTPS,但其中的图片、脚本或表单仍在使用 http://。

现在这个警告更难被忽视了。2026 年 10 月发布的 Chrome 154 默认开启“一律使用安全连接”:Chrome 会先尝试 HTTPS,失败时显示整页警告,并在打开公共 HTTP 网站前询问访客。即使最终页面是 HTTPS,只要通往页面的任何一次重定向使用 HTTP,Chrome 也会显示这个警告。

第 1 步:安装免费证书

大多数主机商都提供免费证书。在控制面板中找到“SSL/TLS”“Let’s Encrypt”或“AutoSSL”,并为 yourdomain.com 和 www.yourdomain.com 同时启用。如果你自己管理服务器,Certbot 可以获取免费的 Let’s Encrypt 证书并自动续期:

Terminal
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
# Apache: install python3-certbot-apache and use --apache instead of --nginx

付费证书并不会让连接更安全。免费的域名验证证书提供同样的加密和同样的锁形图标。

第 2 步:将 HTTP 重定向到 HTTPS

只有证书还不够:人们仍会不带 https:// 输入你的地址,旧链接也仍指向 http://。对每个 HTTP 请求返回永久(301)重定向,指向 HTTPS 上的同一路径。在 nginx 上:

nginx
server {
    listen 80;
    listen [::]:80;
    server_name yourdomain.com www.yourdomain.com;
    return 301 https://yourdomain.com$request_uri;
}

在 Apache 或虚拟主机上,把以下内容放在网站根目录 .htaccess 文件的最前面:

.htaccess
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

如果使用 Cloudflare,请开启 SSL/TLS → Edge Certificates → Always Use HTTPS,并在服务器拥有自己的有效证书后把 SSL 模式设为 Full (strict)。“Flexible”模式加上服务器端重定向,是无限重定向循环的常见原因。

第 3 步:把 WordPress(或你的 CMS)切换到 https://

在 WordPress 中打开 设置 → 常规,把 WordPress 地址和站点地址都改为 https://。文章和小工具中已保存的链接仍然是 http://。用 WP-CLI 可以一次性替换;先运行试运行,正式执行前先备份数据库:

Terminal
wp option get siteurl
wp search-replace 'http://yourdomain.com' 'https://yourdomain.com' --all-tables --dry-run
# looks right? back up the database, then run it again without --dry-run

第 4 步:修复混合内容

打开页面,按 F12 查看控制台:浏览器会列出因通过 http:// 请求而被拦截或降级的每个资源。把这些网址改为 https://(或相对路径),并替换不支持 HTTPS 的第三方小部件。重定向与混合内容指南提供了搜索命令,以及一行可自动升级剩余请求的 Content-Security-Policy 配置。

第 5 步:检查重定向链的每一跳

当某一步重定向使用 HTTP 时,Chrome 的新警告同样会触发,例如 https://yourdomain.com → http://www.yourdomain.com → https://www.yourdomain.com。从每个起始地址跟踪重定向链,确保只有最开始的那个请求是 http://:

Terminal
for u in http://yourdomain.com http://www.yourdomain.com https://yourdomain.com https://www.yourdomain.com; do
  echo "== $u"; curl -sIL "$u" | grep -iE '^(HTTP/|location:)'
done

理想情况下,每个地址只需一次重定向就到达最终页面。同时更新你能控制的链接:Google 商家资料、社交媒体资料、邮件签名和广告。

第 6 步:用 HSTS 锁定

当所有页面和子域名都能通过 HTTPS 正常访问后,添加 Strict-Transport-Security 响应头,让浏览器在之后的访问中完全跳过 HTTP。先用较短的 max-age,确认无误后再调大。参见 HSTS 详解。

仍然看到警告?

  • 整页的证书错误(例如 NET::ERR_CERT_DATE_INVALID)是另一个问题:请参阅SSL 证书错误详解。
  • 只在部分页面出现:这些页面仍通过 http:// 加载某些内容,或表单提交到 http:// 地址。
  • 只对部分访客出现:旧的 http:// 书签或链接、缓存的重定向,或没有证书的子域名。
  • 更换主机或 CDN 之后:新服务器可能还没有证书,或提供的是其他域名的证书。

HackGrade 会检查什么

HackGrade 的免费扫描会检查首页的 HTTP 到 HTTPS 重定向、证书是否受信任及何时到期、TLS 版本、HSTS 和混合内容,并用通俗的语言说明最先要做的修复。它只读取任何访客的浏览器都能看到的内容。

常见问题

“不安全”警告会影响我的 Google 排名吗?

HTTPS 是一个较轻的排名信号,但更大的损失在于访客:很多人看到警告就会离开,而且从 Chrome 154 开始,访客必须先点过整页警告,只支持 HTTP 的网站才会打开。

要去掉警告,我需要付费的 SSL 证书吗?

不需要。免费的域名验证证书(例如 Let’s Encrypt)提供同样的加密,去掉警告的效果与付费证书一样。

我已经安装了证书,为什么还显示“不安全”?

通常是因为没有重定向,网站仍以 http:// 打开,或 HTTPS 页面加载了混合内容。添加 301 重定向,然后在浏览器控制台中查找 http:// 资源。

这个警告对我的访客有危险吗?

在 HTTP 下,他们输入的任何内容,比如密码和联系方式,都可能被同一网络中的人读取或篡改。这就是浏览器发出警告的原因,即使是简单的企业展示网站也值得修复。

参考资料

相关指南

免费 · 即时 · 无需注册

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

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

免费开始。Pro 每月 29 美元起(按年付费约合每月 24 美元),或 29 美元购买一次性完整报告。 查看价格