现在没有 HTTPS 的网站会被浏览器标「不安全」,还影响 SEO 排名。好消息是 Let's Encrypt 提供完全免费的 SSL 证书,几分钟就能给站点开上 HTTPS。本文以 Nginx + Certbot 为例。

1. 为什么必须上 HTTPS

  • 浏览器对 HTTP 站点显示「不安全」,劝退访客。
  • Google 明确把 HTTPS 作为排名信号,不加密的站点吃亏。
  • 支付、登录等功能没有 HTTPS 会泄露数据。

2. 前置条件

  • 一台有公网 IP 的 VPS,已装好 Nginx。
  • 一个域名,且 A 记录已解析到 VPS 的 IP(证书签发要验证域名归属)。
  • 防火墙放行 80 和 443 端口。

3. 安装 Certbot 并签发证书

以 Ubuntu 为例:

  • 安装:apt install certbot python3-certbot-nginx
  • 一键签发并自动改 Nginx 配置:certbot --nginx -d example.com -d www.example.com
  • 按提示填邮箱、同意条款,选择是否把 HTTP 自动跳转 HTTPS(建议选是)。

4. 自动续期

Let's Encrypt 证书有效期 90 天,但 Certbot 会装好定时任务自动续期。验证一下:certbot renew --dry-run,无报错即说明续期正常,以后无需手动管。

5. 常见问题

  • 签发失败:多半是域名没解析到本机,或 80 端口被占/被防火墙挡。
  • 仍显示不安全:清缓存强刷,并确认页面里没有 http:// 的图片/脚本(混合内容)。