安全协议部署实例:手把手教你配置网站HTTPS

为什么你的网站需要安全协议

打开浏览器访问一个网站时,地址栏前面是不是有个小锁图标?这个锁代表连接是加密的。比如你在咖啡馆连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了,早点部署总没错。