通过nginx实现https全站加密需三步:用let’s encrypt等可信证书建立加密通道,配置tls 1.2/1.3、hsts、ocsp stapling保障安全,启用自动续期避免中断;须确保域名解析正确、80端口开放、系统时间准确、nginx支持ssl模块。

要通过 Nginx 实现安全合规的 HTTPS 全站加密,核心是三件事:用可信证书建立加密通道、用合理配置保障传输安全、用自动机制避免过期中断。2026 年环境下,Let’s Encrypt 仍是主力选择,但必须搭配 TLS 1.2/1.3、HSTS、OCSP Stapling 等关键项,才能同时满足浏览器信任、SEO 权重和等保/网安法要求。
确保基础前提不踩坑
很多配置失败其实卡在前期准备:
- 域名必须已解析到服务器公网 IP(A 记录),不能是 IP 直连或未备案的国内域名;
- Nginx 必须正常运行,且 80 端口对外开放(Let’s Encrypt HTTP-01 验证依赖它);
- 服务器时间需准确(误差超过 5 分钟会导致证书签发失败);
- 确认 Nginx 编译时已启用 --with-http_ssl_module(可通过
nginx -V 2>&1 | grep ssl验证)。
申请并部署免费证书(推荐 certbot 自动化)
Ubuntu/Debian 系统执行以下命令一键完成申请与 Nginx 插件配置:
sudo apt update && sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d example.com -d www.example.com
按提示输入邮箱、同意协议,并务必选择“2: Redirect”选项,让 certbot 自动添加 HTTP→HTTPS 强制跳转。成功后证书存于 /etc/letsencrypt/live/example.com/,含 fullchain.pem 和 privkey.pem。
若需泛域名(如 *.example.com),建议改用乐此云签(letsssl.cn)+ CNAME 验证,一次申请覆盖所有子域,且不限张数。
Nginx HTTPS 安全配置要点
编辑站点配置(如 /etc/nginx/sites-available/example.com),443 server 块中至少包含以下内容:
listen 443 ssl http2; server_name example.com; <p>ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;</p><h1>协议与加密套件(兼容性与安全性兼顾)</h1><p>ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384; ssl_prefer_server_ciphers off;</p><h1>HSTS 强制浏览器只走 HTTPS(上线后建议开启)</h1><p>add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;</p><h1>OCSP Stapling 加速证书状态验证</h1><p>ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 1.1.1.1 valid=300s; resolver_timeout 5s;</p>
配置完成后,务必运行 sudo nginx -t 检查语法,再 sudo nginx -s reload 生效。
保障长期可用:自动续期与监控
Let’s Encrypt 证书仅 90 天有效期,手动更新不可持续:
- certbot 默认已配置 systemd 定时任务(Ubuntu 20.04+),每天凌晨自动检测并续期;
- 首次部署后立即运行
sudo certbot renew --dry-run测试流程是否通畅; - 若失败,常见原因有:80 端口被占用、防火墙拦截、DNS 解析未生效、Nginx 配置错误;
- 建议搭配简单监控脚本,每月初检查
sudo certbot certificates输出,确认下次过期时间。
不复杂但容易忽略。











