配置 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 会问你几个问题:
输入邮箱地址:用于接收证书过期提醒和安全通知。
同意服务条款:输入
A同意。是否愿意将邮箱分享给 EFF 基金会:根据自己意愿选
Y或N。选择是否重定向 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 地址。
登录你的 WordPress 后台(地址是
https://你的域名/wp-admin)。在左侧菜单栏,点击 “设置” -> “常规”。
你会看到 “WordPress 地址 (URL)” 和 “站点地址 (URL)” 这两个选项。
将这两个框里的网址前面的
http://改成https://。例如:
http://yourdomain.com改为https://yourdomain.com
点击页面底部的 “保存更改” 按钮。
注意:修改这两项后,WordPress 会让你重新登录一次,这是正常现象。
完成以上所有步骤后,你的 WordPress 网站就成功升级为 HTTPS 加密连接了!如果过程中遇到报错,可在评论区留言。