为什么必须 HTTPS

2026 年,HTTP 站点:浏览器警告、SEO 降权、Service Worker 不可用、密码不让填、某些 API 直接拒绝。装 HTTPS 是 5 分钟的事,没理由不装

Certbot 一键

Ubuntu:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d wadely.com -d www.wadely.com

它会:

  1. 验证你确实拥有这个域名(自动放一个文件让 LE 去访问)
  2. 申请证书
  3. 自动改 Nginx 配置加上 SSL 块
  4. 加 80 → 443 重定向

完成后浏览器访问 https://wadely.com 就有锁图标了。

验证证书

curl -I https://wadely.com
# 看 HTTP/2 200 + valid cert

或浏览器点锁图标看证书有效期。

自动续签

Let's Encrypt 证书 90 天到期——certbot 装好后自动加了 cron / systemd timer,默认每天试图续签,到期前 30 天自动换。

验证定时任务在跑:

sudo systemctl list-timers | grep certbot
sudo certbot renew --dry-run    # 演练一遍

多域名 / 通配符证书

多域名:-d a.com -d b.com -d c.com 一次性申。

通配符(*.wadely.com)需要 DNS 验证:

sudo certbot certonly --manual --preferred-challenges dns \
  -d "*.wadely.com" -d wadely.com

它会让你加 TXT 记录验证——做完后 nginx 配置自己改。

中级:HSTS

让浏览器强制走 HTTPS

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

⚠ 加了之后即使你之后想退回 HTTP 也得等浏览器缓存过期(最长 1 年)——确认你的站点全 HTTPS 没问题再加

国内 ICP / 备案后用

阿里云 / 腾讯云的域名也可以用 Let's Encrypt——但他们家也提供免费证书(1 年有效期,每年手动重新申请),有人觉得管理更方便。

配置评分

申完证书可以去 SSL Labs 测一下——A 级以下需要调整 cipher suite,A+ 需要加 HSTS。

下一篇:让你的应用进程在后台稳定跑。