Ctrl+D 收藏本站 再次访问不迷路 ~
2026年了,你的网站还是 HTTP?浏览器会在地址栏直接标「不安全」,用户信任度和搜索引擎排名都会受影响。好消息是,现在 SSL 证书完全免费就能搞定。
为什么 2026 年必须用 HTTPS
先说几个现实问题:
| 没有 HTTPS 的后果 | 严重程度 |
|---|---|
| 浏览器标「不安全」 | 🔴 高 |
| Google 排名降权 | 🔴 高 |
| 百度明确标注不安全 | 🟡 中 |
| 用户输入的数据被劫持 | 🔴 极高 |
| HTTP/2、HTTP/3 用不了 | 🟡 中 |
| 微信小程序 API 必须 HTTPS | 🔴 极高 |
Chrome 从 2023 年就开始了「渐进式淘汰 HTTP」计划。到 2026 年,HTTP 网站在浏览器中的待遇已经很差了。
SSL 证书的类型
| 证书类型 | 验证级别 | 费用 | 签发速度 | 适用 |
|---|---|---|---|---|
| DV(域名验证) | 验证域名所有权 | 免费-200元/年 | 分钟级 | 个人站、博客 |
| OV(组织验证) | 验证企业信息 | 500-5000元/年 | 1-3 天 | 中小企业官网 |
| EV(扩展验证) | 最高级别验证 | 2000-20000元/年 | 1-2 周 | 银行、电商 |
| 通配符证书 | 保护 *.domain.com | 免费(Let's Encrypt) | 分钟级 | 多子域名 |
99% 的个人网站用 DV 证书就够了。 Let's Encrypt 提供的 DV 证书完全免费、自动续签,比付费证书好用得多。
Let's Encrypt —— 免费 SSL 的事实标准
| 特性 | 说明 |
|---|---|
| 费用 | 完全免费 |
| 证书有效期 | 90 天 |
| 自动续签 | 支持(推荐) |
| 通配符证书 | 支持(需 DNS 验证) |
| 受信任度 | 所有主流浏览器和系统都信任 |
| 申请方式 | ACME 协议自动申请 |
Let's Encrypt 从 2015 年开始运营,到 2026 年已经签发了超过 40 亿张证书。目前全球约 70% 的 HTTPS 网站用的是 Let's Encrypt 的证书。
方法一:宝塔面板一键申请(最简单)
如果你用宝塔面板,30 秒搞定:
- 网站 → 设置 → SSL
- 选择「Let's Encrypt」
- 勾选你的域名
- 点击「申请」
- 申请成功后开启「强制 HTTPS」
证书每 90 天自动续签,不需要手动操作。
方法二:Certbot 手动安装(推荐学习)
Certbot 是 Let's Encrypt 的官方客户端,功能强大。
安装 Certbot
# Ubuntu/Debian
apt install certbot python3-certbot-nginx -y
# CentOS/Rocky
yum install certbot python3-certbot-nginx -y申请证书
# 自动申请 + 配置 Nginx
certbot --nginx -d xuyunblog.com -d www.xuyunblog.com
# 按提示输入邮箱和同意协议自动续签
# Certbot 会自动添加一个定时任务,先确认一下
certbot renew --dry-run
# 看看定时任务在哪
cat /etc/cron.d/certbot
# 或者
systemctl list-timers | grep certbot建议手动在宝塔的计划任务里也加一条:certbot renew --quiet && nginx -s reload,每天凌晨 3 点执行。方法三:acme.sh(轻量级替代)
acme.sh 是一个纯 Shell 脚本实现的 ACME 客户端,比 Certbot 轻量很多,不依赖 Python。
安装
curl https://get.acme.sh | sh -s email=你的邮箱申请证书
# Webroot 方式(需要网站能访问)
acme.sh --issue -d xuyunblog.com -d www.xuyunblog.com --webroot /www/wwwroot/xuyunblog.com
# 独立模式(自动起一个临时 web 服务器验证)
acme.sh --issue -d xuyunblog.com -d www.xuyunblog.com --standalone安装证书到 Nginx
acme.sh --install-cert -d xuyunblog.com \
--key-file /etc/nginx/ssl/xuyunblog.com.key \
--fullchain-file /etc/nginx/ssl/xuyunblog.com.crt \
--reloadcmd "nginx -s reload"acme.sh vs Certbot
| 对比项 | acme.sh | Certbot |
|---|---|---|
| 安装大小 | 几百KB | 几十MB(含依赖) |
| 依赖 | 只需要 curl/openssl | 需要 Python |
| 内存占用 | 几乎为零 | 需要一定内存 |
| 功能完整度 | 够用 | 更全面 |
| 适合场景 | VPS 资源紧张 | 标准部署 |
通配符证书(*.domain.com)
如果你有多个子域名,通配符证书比一个一个申请方便得多。
Let's Encrypt 通配符证书申请
通配符证书需要 DNS 验证(不能用 HTTP 验证):
# 使用 acme.sh + DNS 验证
acme.sh --issue -d xuyunblog.com -d *.xuyunblog.com --dns \
--dns-ali-key "你的阿里云Key" \
--dns-ali-secret "你的阿里云Secret"不同域名服务商的 API 接入方式不同,acme.sh 文档里有详细列表。
如果你的域名在 Cloudflare,更简单——Cloudflare 可以直接在面板里生成免费 SSL,甚至不用自己申请。
Nginx SSL 配置优化
申请完证书后,Nginx 的配置可以做一些优化:
server {
listen 443 ssl http2;
server_name xuyunblog.com;
ssl_certificate /etc/nginx/ssl/xuyunblog.com.crt;
ssl_certificate_key /etc/nginx/ssl/xuyunblog.com.key;
# SSL 协议版本(只允许 TLS 1.2 和 1.3)
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 on;
# HSTS(告诉浏览器强制使用 HTTPS)
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
# OCSP Stapling(加速 SSL 握手)
ssl_stapling on;
ssl_stapling_verify on;
# ... 其他配置
}
# HTTP 强制跳转到 HTTPS
server {
listen 80;
server_name xuyunblog.com;
return 301 https://$server_name$request_uri;
}用 Cloudflare 的免费 SSL(推荐海外站)
如果你的网站面向海外用户,或者不介意流量经过 Cloudflare,可以直接用它自带的 SSL。
| 模式 | 说明 | 推荐 |
|---|---|---|
| Flexible | Cloudflare → 源站不加密 | ❌ 不推荐 |
| Full | Cloudflare → 源站加密(可用自签) | ⚠️ 一般 |
| Full (Strict) | 源站必须有受信任的证书 | ✅ 推荐 |
推荐方案:Cloudflare + 源站 Let's Encrypt 证书,选 Full (Strict) 模式。
常见问题
证书过期了怎么办?
如果设置了自动续签,一般不会过期。可以用这个命令检查:
echo | openssl s_client -servername xuyunblog.com -connect xuyunblog.com:443 2>/dev/null | openssl x509 -noout -datesHTTPS 会不会拖慢网站?
不会,反而可能更快。HTTP/2 和 HTTP/3 只在 HTTPS 下可用,它们的性能比 HTTP/1.1 好很多。另外 SSL 握手现在有 0-RTT 技术,开销极低。
内网/开发环境要不要 HTTPS?
用 mkcert 工具可以生成本地信任的自签证书,开发环境用起来体验更好(浏览器不弹警告)。
# 安装 mkcert
brew install mkcert # macOS
# 或
# https://github.com/FiloSottile/mkcert/releases 下载
mkcert -install
mkcert xuyunblog.com localhost 127.0.0.1叙云博客系列教程持续更新。证书配置有什么不清楚的欢迎留言。
©版权声明
文章版权归作者所有,未经允许请勿转载。
THE END

暂无评论内容