为什么你的网站需要安全协议
打开浏览器访问一个网站时,地址栏前面是不是有个小锁图标?这个锁代表连接是加密的。比如你在咖啡馆连Wi-Fi登录账号,如果没有加密,别人可能轻易截取你的密码。现在主流网站都用HTTPS,其实就是HTTP加上TLS/SSL安全协议,防止数据被偷看或篡改。
最近帮朋友搭了个个人博客,一开始用的是HTTP,结果浏览器直接提示“不安全”。后来花半小时配了HTTPS,问题就解决了。下面把这个过程写出来,照着做就行。
准备条件:证书和服务器
要启用HTTPS,得先有数字证书。最方便的是用Let's Encrypt,免费且自动续期。假设你已经有一台Linux服务器(比如Ubuntu),并且绑定了域名 example.com。
先安装Certbot工具:
sudo apt update
sudo apt install certbot python3-certbot-nginx如果你用Nginx做Web服务器,这一步会自动帮你修改配置。
签发并部署证书
运行下面命令申请证书:
sudo certbot --nginx -d example.com -d www.example.com执行过程中会提示输入邮箱,用于接收到期提醒和安全通知。同意服务条款后,Certbot会自动跟Let's Encrypt通信,验证你对域名的控制权。
验证通过后,证书就自动部署到Nginx,并且配置文件也会更新成监听443端口。这时候重启Nginx:
sudo systemctl reload nginx再打开浏览器访问 https://example.com,应该就能看到小锁了。
强制跳转HTTPS更安全
虽然现在支持HTTPS,但用户如果手动输http://,还是会走不加密的通道。可以在Nginx配置里加个重定向:
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}这样不管怎么访问,都会自动跳到HTTPS链接。改完记得 reload Nginx 生效。
定时续期别忘了
Let's Encrypt的证书只有90天有效期,但Certbot可以自动续期。系统自带的cron任务一般会处理这事,你可以手动测试一下:
sudo certbot renew --dry-run只要没报错,就说明以后能自动搞定,不用半夜爬起来更新证书。
这套流程我已经在多个站点上跑过,包括自己做的小工具站和朋友的电商页面。一旦配好,基本零维护。现在连路由器后台登录页都推HTTPS了,早点部署总没错。