2026 年,HTTPS 已成为网站的标配。Google 和百度都明确表示 HTTPS 是排名因素之一,浏览器也会对 HTTP 网站显示"不安全"警告。本文详解如何免费申请 SSL 证书、配置 HTTPS、优化性能,让你的网站既安全又快。
一、为什么必须上 HTTPS?
1. 数据安全
HTTP 是明文传输,用户的账号密码、个人信息在网络中裸奔。HTTPS 通过 SSL/TLS 加密,即使数据被截获也无法解密。

2. SEO 优势
百度官方明确表示 HTTPS 网站在搜索结果中享有优先展示权。实际测试表明,同等条件下 HTTPS 网站排名比 HTTP 高 1-3 位。
3. 用户信任
Chrome、Edge 等浏览器对 HTTP 网站显示"不安全"警告,会吓跑大量用户。HTTPS 网站显示绿色小锁,提升信任度。
4. 功能要求
很多现代 Web 功能(如 PWA、HTTP/2、Service Worker)必须 HTTPS 才能使用。
二、免费 SSL 证书申请方式
方式 1:Let's Encrypt(推荐)
有效期:90 天(可自动续期)
申请难度:⭐⭐ 需要命令行基础
适用场景:个人网站、博客、中小企业站
申请工具:Certbot(最流行)、acme.sh(轻量)
方式 2:Cloudflare 免费 SSL
有效期:永久
申请难度:⭐ 最简单
适用场景:使用 Cloudflare CDN 的网站
注意:这是 CDN 层面的 SSL,源站仍需配置证书
方式 3:宝塔面板一键申请
有效期:90 天(宝塔自动续期)
申请难度:⭐ 最简单
适用场景:使用宝塔面板的站长
步骤:网站→SSL→Let's Encrypt→申请
三、Certbot 申请 Let's Encrypt 证书详解
步骤 1:安装 Certbot
# CentOS/RHEL sudo yum install certbot python3-certbot-nginx # Ubuntu/Debian sudo apt install certbot python3-certbot-nginx # 宝塔面板已预装,直接使用即可
步骤 2:申请证书
# Nginx 自动配置模式(推荐) sudo certbot --nginx -d example.com -d www.example.com # 仅申请证书,不自动配置 sudo certbot certonly --nginx -d example.com # 通配符证书(*.example.com) sudo certbot certonly --dns-aliyun-dns -d *.example.com
步骤 3:验证安装
访问 https://yourdomain.com,浏览器显示绿色小锁即成功。
使用在线工具检测:myssl.com 或 sslabs.com
四、Nginx HTTPS 配置详解
基础配置
server {
listen 443 ssl http2;
server_name example.com www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# SSL 优化配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
root /www/wwwroot/example;
index index.html index.php;
}
# HTTP 强制跳转 HTTPS
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$server_name$request_uri;
}
高级优化配置
# HSTS(强制 HTTPS) add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; # OCSP Stapling(提升握手速度) ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 5s; # 支持 HTTP/2 listen 443 ssl http2;
五、自动续期配置
Certbot 自动续期
Certbot 会自动创建定时任务,但建议手动测试:
# 测试续期(不实际执行) sudo certbot renew --dry-run # 手动续期 sudo certbot renew # 续期后重载 Nginx sudo nginx -s reload
宝塔面板自动续期
宝塔会在证书到期前 10 天自动续期,无需手动操作。可在"计划任务"中查看续期日志。
六、常见问题排查
问题 1:证书申请失败
可能原因:域名解析未生效、80 端口被占用、防火墙阻止
解决方案:检查 DNS 解析;关闭占用 80 端口的程序;放行 80/443 端口
问题 2:混合内容警告
现象:HTTPS 页面加载 HTTP 资源,浏览器显示"不安全"
解决:将所有 HTTP 链接改为 HTTPS 或相对路径;使用"Why No Padlock"工具检测
问题 3:证书过期未续期
原因:自动续期任务失败、服务器宕机
解决:设置证书到期监控(UptimeRobot 可监控 SSL);手动续期
七、HTTPS 性能优化
1. 启用 HTTP/2
HTTP/2 多路复用可显著提升加载速度,Nginx 1.9.5+ 支持:
listen 443 ssl http2;
2. 启用 OCSP Stapling
减少 SSL 握手时间,配置见上方。
3. 使用 TLSv1.3
TLSv1.3 比 TLSv1.2 更快更安全,Nginx 1.13.0+ 支持:
ssl_protocols TLSv1.2 TLSv1.3;
八、总结 Checklist
- ✅ 选择免费 SSL 方案(Let's Encrypt/宝塔)
- ✅ 申请证书并配置 Nginx
- ✅ 设置 HTTP 强制跳转 HTTPS
- ✅ 配置 HSTS 和 OCSP Stapling
- ✅ 测试 SSL 等级(目标 A+)
- ✅ 设置自动续期
- ✅ 监控证书到期时间
HTTPS 不是可选项,而是必选项。花 30 分钟配置好 HTTPS,让网站更安全、更受搜索引擎青睐。
相关文章
发表评论
评论列表