当前位置:首页基础入门SSL 证书免费配置-Let's Encrypt 自动续期与混合内容修复

SSL 证书免费配置-Let's Encrypt 自动续期与混合内容修复

配置HTTPS的核心在于利用Let's Encrypt实现零成本加密与自动续期,彻底解决浏览器警告与SEO降权问题。通过主机面板、Certbot命令行或WordPress插件三种方案,可快速部署DV证书。配置后需重点修复混合内容以确保全站安全,掌握自动续期机制即可实现长期免维护,显著提升网站信任度与数据安全性。
⌛提炼中
Ai智脑

📢前言

HTTPS 这件事,现在真的不是「要不要做」的问题了,而是「必须做」。Chrome 直接给 HTTP 站点打上「不安全」标签,Google 把 HTTPS 纳入排名因素,Facebook Pixel、Google Analytics 这些第三方工具也要求必须是 HTTPS。做外贸的都知道,客户很可能第一眼看到浏览器地址栏那个红色的「不安全」就直接关掉了——连询盘表单都不敢填。这篇文章我来手把手教你零成本搞定 HTTPS,配好之后真的可以做到永远不用再操心。


一、🔒 HTTPS 为什么必须装

不装 HTTPS,真的不是「少个锁标志」这么简单。

我刚开始做外贸站的时候,觉得 HTTPS 是「锦上添花」的东西,结果第一个站点上线没几天就发现问题:

影响具体后果
🔴 浏览器直接警告Chrome 在地址栏显示「不安全」,访客立马失去信任
🔴 询盘表单不可用现代浏览器禁止 HTTP 页面提交敏感数据,客户填了表提交不了
🔴 Google SEO 降权Google 明确把 HTTPS 作为排名信号,没HTTPS的直接往后排
🔴 第三方工具无法集成Facebook Pixel、Google Analytics 都要求 HTTPS
🔴 数据传输裸奔用户输入的密码、邮箱在网络中明文传输,太危险了
🟡 PCI 合规问题如果要接支付功能,PCI DSS 强制要求 HTTPS

说白了:不装 HTTPS,网站基本等于废了。好消息是整个过程免费,而且装好之后真的可以当甩手掌柜。

📋 SSL 证书类型一览

类型验证级别价格适合场景
DV(域名验证)只验证你拥有这个域名免费(Let's Encrypt)外贸站、博客、个人网站
OV(组织验证)验证域名 + 公司信息$50-200/年中大型企业
EV(扩展验证)深度验证公司资质,地址栏显示公司名$100-500/年金融、电商平台
通配符证书一个证书覆盖主域名和所有子域名$50-300/年多子域名站点

💡 外贸站选什么:我做过几十个外贸站,DV 证书完全够用。EV 证书虽然能在地址栏显示公司名,但价格贵、维护麻烦,外贸 B2B 站真没必要折腾。把钱省下来投广告不香吗?


二、🚀 Let's Encrypt 完全配置指南

Let's Encrypt 是由非营利组织 ISRG 运营的证书颁发机构,免费签发 DV 证书,全球数千万网站都在用。有效期 90 天,但配置好自动续期后,真的可以永久不用管它

我所有个人项目和客户的外贸站,90%都用 Let's Encrypt,稳得很。

🖥️ 方案一:主机控制面板一键安装(推荐新手)

这是最简单的方式,适合不想碰命令行的同学。

cPanel(SiteGround、Bluehost 等)

  1. 登录 cPanel
  2. 找到 SSL/TLS StatusAutoSSL
  3. 勾选你要安装证书的域名
  4. 点击 Run AutoSSL
  5. 等 1-2 分钟,状态变绿色 ✅

⚠️ 踩坑提醒:有些 cPanel 主机的 AutoSSL 是按域名收费的!我之前用的一款主机看起来便宜,结果 AutoSSL 每个域名收 $10/年。SiteGround 免费版的 AutoSSL 只覆盖主域名,子域名要另外处理,买之前一定问清楚。

宝塔面板(国内用户很多)

  1. 登录宝塔面板
  2. 点击 网站 > 选择对应站点 > 设置 > SSL
  3. 选择 Let's Encrypt 选项卡
  4. 勾选域名(通常包括 example.comwww.example.com
  5. 点击 申请,等 1 分钟左右
  6. 勾选 强制 HTTPS,开启自动跳转

宝塔真的香,我帮客户迁移的几个 WordPress 站都用宝塔,SSL 配置几分钟搞定。

Cloudways

  1. 登录 Cloudways 后台
  2. 进入 Application > SSL Certificate
  3. 点击 Install Certificate
  4. 选择 Let's Encrypt,填入邮箱
  5. 点击 Install,等完成

Cloudways 是我主力在用的托管平台,SSL 一键配置,续期全自动,省心。


💻 方案二:Certbot 命令行安装(适合 VPS 用户)

适合在 VPS 上手动配置 Nginx 或 Apache 的同学。我自己用的 Linode VPS 就是这么配的。

第一步:安装 Certbot

# Ubuntu/Debian + Nginx
sudo apt update
sudo apt install certbot python3-certbot-nginx

# Ubuntu/Debian + Apache
sudo apt install certbot python3-certbot-apache

第二步:申请并自动配置证书

# Nginx(Certbot 会自动修改 Nginx 配置)
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

# Apache(Certbot 会自动修改配置)
sudo certbot --apache -d yourdomain.com -d www.yourdomain.com

执行后会提示:

  • 输入邮箱(用于证书到期提醒,一定要填真实的)
  • 同意服务条款
  • 选择是否自动跳转 HTTPS(选 2,自动重定向

第三步:验证自动续期是否配置成功

# 测试续期(--dry-run 不会真的续,只测试配置)
sudo certbot renew --dry-run

# 查看 certbot 定时器状态
sudo systemctl status certbot.timer

如果输出显示 running 和下一次执行时间,说明自动续期已配置好。

💡 原理说明:Certbot 安装时会创建一个 systemd timer 或 cron job,每隔 12 小时检查证书是否快到期(< 30 天),快到期就自动续。所以你配置好之后,真的可以永远不再管它——我配了十几个站,两年多了没管过,全部自动续期成功。


🔌 方案三:WordPress 插件安装(完全不想碰服务器的选这个)

适合不想折腾服务器配置的同学。

插件适合场景特点
Really Simple SSL零基础用户首选一键搞定,自动修复混合内容
WP Encrypt简单场景只负责申请证书,不处理重定向
SSL Insecure Content Fixer辅助修复混合内容配合其他方案使用

Really Simple SSL 使用步骤

  1. 插件 > 安装插件 > 搜索 Really Simple SSL > 安装并启用
  2. 插件检测到网站未使用 SSL,会弹窗提示
  3. 点击 启用 SSL
  4. 插件会自动:
    • 把所有 HTTP URL 替换成 HTTPS
    • 配置 301 重定向(HTTP → HTTPS)
    • 修复混合内容问题
  5. 设置 > SSL,确认显示绿色 ✅

⚠️ 踩坑经验:Really Simple SSL 在某些主题下会触发「重定向次数过多」的报错。我遇到过两次,都是在用 Avada 主题的时候。解决方法是先停用插件,手动修复混合内容(见下一节),再重新启用。


三、🔧 混合内容修复(最常见的问题,90%的人都踩过)

❓ 什么是混合内容

混合内容(Mixed Content)就是 HTTPS 页面里引用了 HTTP 资源。浏览器检测到「明明是安全页面,却加载了不安全的内容」,就会发出安全警告。

我之前帮一个客户排查问题,他的站明明装了 SSL,地址栏就是不显示锁标志。一查 Console,好家伙,十几条混合内容警告——主题里硬编码了 HTTP 的图片地址,插件引用了 HTTP 的 JS 文件...

混合内容分两类:

  • 主动混合内容:JS、CSS、iframe——会直接阻断,浏览器完全拒绝加载
  • 被动混合内容:图片、音视频——显示警告,浏览器仍然加载但会提示

🔍 如何发现混合内容

方法一:Chrome 开发者工具(我最常用的)

  1. 用 Chrome 打开你的 HTTPS 网站
  2. F12 打开开发者工具
  3. 切换到 Console 标签
  4. 如果有混合内容,会显示黄色警告:
    Mixed Content: The page at 'https://...' was loaded over HTTPS,
    but requested an insecure resource 'http://example.com/image.jpg'

  5. 点击文件名,查看具体是哪个资源有问题

方法二:SSL Labs 在线检测

访问 ssllabs.com/ssltest/,输入域名,可以生成完整的安全报告。这个工具超好用,我每配置完一个站都会跑一遍。

方法三:地址栏锁标志提示

地址栏不显示锁标志时,点击那个小图标,里面会写清楚具体原因。Chrome 的提示越来越友好了,直接告诉你哪里有问题。

🛠️ 混合内容修复步骤

第一步:备份数据库(⚠️ 必须!必须!必须!)

这个步骤我强调三遍,因为真的有人跳过这步然后哭着找我...

-- 用 phpMyAdmin 或命令行执行
-- 先完整备份,再用这个替换

UPDATE wp_posts
SET post_content = REPLACE(post_content, 'http://yourdomain.com', 'https://yourdomain.com');

UPDATE wp_posts
SET guid = REPLACE(guid, 'http://yourdomain.com', 'https://yourdomain.com');

UPDATE wp_postmeta
SET meta_value = REPLACE(meta_value, 'http://yourdomain.com', 'https://yourdomain.com');

⚠️ 关于 GUID:网上有人说 GUID 不应该改,但我实际操作下来,不改 GUID 有时候会出现奇怪的问题。我的做法是:先完整备份数据库,然后执行替换,测试几天没问题就不管了。万一有问题,恢复备份就行。

第二步:安装 Really Simple SSL 自动修复

安装并启用后,插件会自动处理大量常见的混合内容问题。但别指望它能 100% 解决,有些硬编码的链接还是要手动处理。

第三步:手动检查主题和插件中的硬编码链接

用 FTP 或文件管理器,检查以下位置:

检查位置查找内容修复方法
主题 functions.php搜索 http://改为 https:////
主题自定义 CSSurl('http://...')改为 url('//...')
页脚/页眉模板外部 JS 引用检查是否支持 HTTPS
插件模板文件硬编码图片路径改用 HTTPS 或相对路径

我的经验:很多老旧主题喜欢把图片地址硬编码成 http://,特别是页脚 logo、社交图标这些地方。我通常用 VS Code 全局搜索 http://,一个一个检查改掉。

第四步:用 Content-Security-Policy 头强制升级(进阶)

在 Nginx 配置里加一行,浏览器会自动把所有 HTTP 请求升级为 HTTPS:

add_header Content-Security-Policy "upgrade-insecure-requests";

加完之后记得测试,有些老旧插件可能因此加载失败。


四、⏰ 证书续期管理

Let's Encrypt 的证书有效期是 90 天。配置好自动续期后,每年会有 4 次自动续期操作,你不需要任何操作。

📊 续期机制说明

参数含义
证书有效期90 天比传统证书短,但免费续
自动续期触发到期前 30 天内避免不必要的续期
续期方式systemd timer / cronCertbot 安装时自动配置
续期失败通知邮件提醒邮箱填写正确即可

🖥️ 常用管理命令

# 查看所有已安装证书及过期时间
sudo certbot certificates

# 测试续期(dry-run,不真的续)
sudo certbot renew --dry-run

# 手动强制续期(如果测试失败,手动跑一次)
sudo certbot renew

# 查看 certbot 定时任务
sudo systemctl list-timers | grep certbot

🌐 在线监控工具

工具用途网址
SSL LabsSSL 配置质量评估,目标 A+ssllabs.com/ssltest
UptimeRobotSSL 证书到期免费提醒uptimerobot.com
Why No Padlock混合内容检测whynopadlock.com

💡 我的建议:把 SSL Labs 的评分当作「体检报告」,目标是拿到 A+。如果评分低于 B,先看报告里的具体问题,通常是配置不当导致的。我刚开始配置的时候经常拿 C,后来学会调整加密套件、启用 HSTS,现在都是 A+。


五、🚑 故障排查表(遇到问题先看这里)

问题现象原因解决方法
证书申请失败DNS 未生效 / 80 端口未开放先确认域名已解析;检查防火墙放行 80 和 443
申请通配符证书失败通配符需要 DNS-01 验证方式certbot --manual --preferred-challenges dns
混合内容警告还在数据库改完了但 CDN 层还是 HTTP清理 Cloudflare 缓存(Cache > Purge Everything)
证书链不完整中间证书缺失用 SSL Labs 检测后,重新安装证书
自动续期失败certbot.timer 没有运行sudo systemctl enable --now certbot.timer
浏览器仍显示不安全部分第三方资源(CDN/字体)未改 HTTPSChrome Console 逐条排查
AutoSSL 不覆盖子域名免费版限制升级面板方案,或用 Certbot 手动申请通配符证书
证书到期没收到邮件邮箱填错 / 进垃圾箱检查 certbot 配置的邮箱;查垃圾箱

我的踩坑案例:有一次客户的外贸站证书到期没自动续,排查了半天发现是服务器时间不对(比真实时间快了 2 小时),导致 Certbot 认为还没到续期时间。校准时间后问题解决。这个坑很隐蔽,如果你也遇到莫名其妙的续期问题,先检查服务器时间!


六、✅ SSL 配置检查清单

最后配完了,对照这个清单检查一遍:

  • [ ] 证书已安装并生效(浏览器地址栏显示锁标志)
  • [ ] 点击锁标志 > 连接安全 > 证书有效
  • [ ] HTTP 自动跳转到 HTTPS(输入 http://yourdomain.com 自动变 https://
  • [ ] 无混合内容警告(Chrome Console 没有任何报错)
  • [ ] SSL Labs 评分达到 A 或 A+
  • [ ] 自动续期已配置(certbot renew --dry-run 通过)
  • [ ] 证书到期前收到提醒邮件(查一下垃圾箱)
  • [ ] HSTS 头已配置(可选,配置后更安全但也意味着很难回退到 HTTP)

📝 写在最后

HTTPS 这件事,看起来简单,实际配置起来总有各种各样的小坑。我这篇文章里写的都是我自己踩过的坑、积累的经验。如果你按照这篇文章操作还遇到问题,欢迎评论区留言,我会尽量回复。

记住:SSL 配置好后要定期检查,至少每季度跑一次 SSL Labs 测试,确保一切正常。别等到客户投诉网站显示「不安全」才想起来检查。

版权声明

   站内部分内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供网络资源分享服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请 联系我们 一经核实,立即删除。并对发布账号进行永久封禁处理。在为用户提供最好的产品同时,保证优秀的服务质量。


本站文章90%为原创内容,拥有所有权,转载时请加上所属。

给TA打赏
共{{data.count}}人
人已打赏
基础入门

WordPress 安全防护-防火墙、登录保护、文件权限配置

2026-4-16 23:54:34

基础入门

RankMath 基础 SEO 设置-站点地图、Schema、社交图谱配置

2026-4-16 23:54:48

2 条回复 A文章作者 M管理员
  1. 数字深渊

    混合内容那个坑我踩过,改数据库真的管用👍

  2. 机械哲学家

    之前免费证书都是3个月一续,忘了就完蛋

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索