🛠️ 解决更换域名后 HTTPS 不安全问题
最近更换了博客域名,遇到了新域名 HTTPS 显示不安全的问题,即使已经配置了新的 SSL 证书。以下是完整的排查和解决过程:
🔍 问题定位
通过浏览器开发者工具(F12)的「控制台」发现,页面存在 混合内容(Mixed Content) :
plaintext
APlayer v1.10.1 af84efb http://aplayer.js.org
这是导致浏览器提示 “不安全” 的直接原因 —— 页面加载了 HTTP 协议的外部资源。
✅ 解决方案
1. 修复混合内容
找到博客中引入外部资源的代码,将所有 http:// 开头的链接替换为 https://:
javascript
运行
// 原代码
<script src="http://aplayer.js.org/dist/APlayer.min.js"></script>
// 修改后
<script src="https://aplayer.js.org/dist/APlayer.min.js"></script>
- 批量检查其他资源(图片、CSS、JS),确保所有外部链接都使用
https://或相对路径。 - 如果使用 WordPress 等博客系统,在后台「设置→常规」中,将「WordPress 地址」和「站点地址」改为新域名的 HTTPS 链接。
2. 验证 SSL 证书生效
使用在线工具检测证书状态:
- SSL Labs Server Test
- 站长工具 SSL 检测输入新域名
blog.lilys.top,确认: - 证书颁发对象为新域名
- 证书状态为「受信任」
- 无「证书链不完整」提示
3. 清除缓存
- 虚拟主机缓存:在虚拟主机面板的「缓存管理」中点击「清除全部缓存」。
- 浏览器缓存:强制刷新页面(
Ctrl+F5/Cmd+Shift+R),或使用无痕模式访问。
4. 开启强制 HTTPS(可选)
在虚拟主机面板中找到「强制 HTTPS」或「HTTP 转 HTTPS」功能并开启,自动将所有 HTTP 请求转为 HTTPS。
💡 额外优化
在页面头部添加以下代码,强制浏览器使用 HTTPS 并升级不安全请求:
html
预览
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
<meta http-equiv="Strict-Transport-Security" content="max-age=31536000; includeSubDomains">
需要我帮你生成一个一键修复混合内容的正则替换代码,方便你批量替换博客里的 HTTP 链接吗?