在CentOS上为Nginx启用SSL,你需要遵循以下步骤:
安装Certbot: Certbot是一个自动化的工具,用于获取、安装和管理Let’s Encrypt SSL证书。首先,你需要安装它。
sudo yum install epel-release
sudo yum install certbot python2-certbot-nginx
获取SSL证书: 使用Certbot获取SSL证书。运行以下命令并按照提示操作:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
将yourdomain.com和www.yourdomain.com替换为你的域名。Certbot会自动配置Nginx并重启服务以应用更改。
验证配置: Certbot会自动验证你的域名是否可以通过HTTP访问。如果一切正常,它将为你配置SSL证书。
自动续期: Let’s Encrypt的证书有效期为90天。Certbot会设置一个cron作业来自动续期证书。你可以手动测试续期过程:
sudo certbot renew --dry-run
如果没有错误,你可以设置一个cron作业来自动执行续期:
sudo crontab -e
添加以下行:
0 0,12 * * * certbot renew --post-hook "nginx -s reload"
这将每天检查证书是否需要续期,并在需要时自动续期并重新加载Nginx。
配置防火墙: 确保你的防火墙允许HTTPS流量(通常是端口443)。
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
测试SSL连接:
使用浏览器访问你的网站,或者使用命令行工具如curl来测试SSL连接:
curl -I https://yourdomain.com
你应该看到HTTP状态码200,并且在响应头中看到Strict-Transport-Security。
以上步骤应该可以帮助你在CentOS上为Nginx启用SSL。记得替换yourdomain.com为你的实际域名,并根据需要调整配置。