HTTPS 与上线验证
从文件上传、权限排查到域名、证书和维护,整理静态博客部署的完整流程。
阅读设置
使用 Certbot
确认域名解析、HTTP 验证路径和目标主机名都正确后:
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com
sudo certbot renew --dry-run
需要 www 时,先确保它也解析到本机,再加入证书申请。Certbot 可能修改 Nginx 配置,操作前保留副本,完成后检查跳转与续期定时任务。
手动证书的配置形态
server {
listen 80;
server_name example.com;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/ssl/example.com.fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
root /var/www/personal-blog;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
私钥仅授权给需要读取的系统账号,证书链与域名应匹配。证书有效期以实际签发结果为准,不能把所有免费证书统一写成一年续期。
验证证书与内容
在服务器本机使用域名作为 TLS 名称,同时连接回环地址:
curl -I --resolve example.com:443:127.0.0.1 https://example.com/
不需要 -k 跳过验证。再从外部网络检查域名、HTTP 跳转、TLS、首页、文章页、静态资源和不存在页面的状态码。