跳至正文
首页 » 如何为Nginx + WordPress网站配置免费的SSL 证书

如何为Nginx + WordPress网站配置免费的SSL 证书

配置 SSL 证书能让你的网站从 http:// 变成 https://,浏览器地址栏会显示一个小锁图标,数据传输也会被加密,这对访客和搜索引擎都更友好。

由于我的网站使用的是 LNMP + WordPress,这里有两种方法。强烈推荐方法一(Certbot自动配置),最简单且不易出错。

准备工作:已为您的网站配置了域名

在开始之前,需要确认你的服务器已经绑定了一个域名

Let’s Encrypt(提供免费证书的机构)在验证你对服务器的控制权时,是通过域名进行的,无法直接为 IP 地址(如 38.247.132.152)签发受信任的公共证书

  • 如果你还没有域名:可以去 阿里云、腾讯云 等平台购买一个,然后在你的域名 DNS 设置中添加一条 A 记录,指向你的服务器 IP 38.247.132.152

  • 如果你已经有域名解析好了:直接往下看。

方法一:使用 Certbot 自动配置(强烈推荐)

这是最简单、最推荐的方法。Certbot 会自动获取证书并修改 Nginx 配置文件。

第 1 步:安装 Certbot 和 Nginx 插件

在服务器终端中依次执行以下命令:

# 更新软件包列表
sudo apt update

# 安装 Certbot 及其 Nginx 插件
sudo apt install certbot python3-certbot-nginx -y

第 2 步:配置防火墙允许 HTTPS

需要确保防火墙放行了 HTTPS(443端口)的流量。

# 允许 Nginx Full 规则(这将会开放 80 和 443 端口)
sudo ufw allow 'Nginx Full'

# 可选:为了更安全,可以移除仅允许 HTTP 的旧规则
# sudo ufw delete allow 'Nginx HTTP'

第 3 步:运行 Certbot 获取并安装证书

执行以下命令,记得把 yourdomain.com 和 www.yourdomain.com 替换成你自己的域名。

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
  • 解释

    • --nginx:告诉 Certbot 自动修改你的 Nginx 配置。

    • -d:指定你要为其启用 HTTPS 的域名。

命令执行后,Certbot 会问你几个问题:

  1. 输入邮箱地址:用于接收证书过期提醒和安全通知。

  2. 同意服务条款:输入 A 同意。

  3. 是否愿意将邮箱分享给 EFF 基金会:根据自己意愿选 Y 或 N

  4. 选择是否重定向 HTTP 到 HTTPS

    • 这里建议选 2(代表 “Redirect” 选项),这样当访客访问你网站的 http 地址时,会自动跳转到安全的 https 地址,对 SEO 和用户体验都有好处。

第 4 步:验证成功

如果一切顺利,你会看到类似 “Successfully enabled HTTPS” 的成功提示。现在,在浏览器中访问你的域名(例如 https://yourdomain.com),应该就能看到地址栏的小锁图标了。

第 5 步:配置自动续期

Let’s Encrypt 的证书有效期是 90 天。Certbot 安装时会自动设置一个 systemd 计时器来帮你自动续期,你可以用下面的命令确认它正常工作。

# 检查自动续期任务的状态
sudo systemctl status certbot.timer

# 模拟一次证书续期(测试配置是否正确,不会真的续期)
sudo certbot renew --dry-run

如果 dry-run 显示成功,就说明未来证书会自动续期,不需要你手动操作了。

方法二:WordPress 后台最终配置

SSL 证书配置好后,还需要告诉 WordPress 使用 https 地址。

  1. 登录你的 WordPress 后台(地址是 https://你的域名/wp-admin)。

  2. 在左侧菜单栏,点击 “设置” -> “常规”

  3. 你会看到 “WordPress 地址 (URL)” 和 “站点地址 (URL)” 这两个选项。

  4. 将这两个框里的网址前面的 http:// 改成 https://

    • 例如http://yourdomain.com 改为 https://yourdomain.com

  5. 点击页面底部的 “保存更改” 按钮。

注意:修改这两项后,WordPress 会让你重新登录一次,这是正常现象。

完成以上所有步骤后,你的 WordPress 网站就成功升级为 HTTPS 加密连接了!如果过程中遇到报错,可在评论区留言。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注