现在打开一个网站,地址栏左上角没个小绿锁,总觉得不太放心。其实这个小绿锁就是 HTTPS 协议生效的标志——数据加密传输、防劫持、防篡改。不是只有大公司才能配 HTTPS,个人博客、企业官网、甚至用宝塔或 Nginx 自建的小站,都能轻松搞定。
先搞清楚:HTTPS 不是“装个证书”就完事
HTTPS = HTTP + SSL/TLS 加密层。核心动作有三步:申请证书、部署证书、强制跳转。漏掉任意一步,浏览器可能仍显示“不安全”,或者访问时弹出警告。
1. 免费证书怎么拿?推荐 Let's Encrypt
别再找收费证书了。Let's Encrypt 提供完全免费、自动续期的 DV 证书,配合 Certbot 工具,5 分钟就能签发。以 Ubuntu + Nginx 为例:
sudo apt update
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
执行后按提示操作,Certbot 会自动修改 Nginx 配置、申请证书、启用 HTTPS,并帮你把 HTTP 请求 301 跳转到 HTTPS。
2. 手动部署(比如用宝塔面板)
登录宝塔后台 → 网站 → 找到你的站点 → “设置” → “SSL” → “Let's Encrypt”,勾选域名,点“申请”。成功后记得开启“强制 HTTPS”开关。这一步很多人忘了开,结果虽然证书装上了,但用户输 http:// 还是走明文。
3. 检查几个关键细节
证书装好不等于万事大吉。常见翻车点:
• 混合内容(Mixed Content):网页里还引用了 http:// 的图片、JS 或 CSS,浏览器会拦截并显示“不安全”。解决办法:把页面源码里的 http:// 全部替换成 // 或 https://;
• 站内链接仍是 HTTP:文章里写的关于我们,点进去又变回不加密状态。CMS 后台记得把“站点地址”改成 https://yourdomain.com;
• CDN 没配好:如果用了 Cloudflare 或又拍云,需在 CDN 后台开启“始终使用 HTTPS”或“自动重定向 HTTP 到 HTTPS”。
顺手优化:HTTP/2 和 OCSP Stapling
HTTPS 配好后,可以再加两道“加速buff”:
• 在 Nginx 配置的 server 块中,把 listen 443 ssl; 改成 listen 443 ssl http2;,启用 HTTP/2,资源加载更快;
• 开启 OCSP Stapling,减少浏览器验证证书时的额外请求,提升首屏速度:
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /path/to/fullchain.pem;
最后提醒一句
证书有效期只有 90 天,Let's Encrypt 靠自动续期保命。建议加个定时任务:0 0,12 * * * root python3 -c "import random; import time; time.sleep(random.random() * 3600)" && certbot renew --quiet --no-self-upgrade
这样每天早晚各检查一次,过期前自动更新,不用半夜被报警短信叫醒。