在Nginx中配置Let’s Encrypt SSL证书,你需要遵循以下步骤:
安装Certbot: Certbot是一个自动化的工具,用于获取和续订Let’s Encrypt证书。你可以从Certbot的官方网站下载并安装它。
获取SSL证书:
使用Certbot获取SSL证书。你可以选择自动模式(certbot certonly),它会自动配置Nginx并获取证书。
sudo certbot certonly --nginx -d yourdomain.com -d www.yourdomain.com
这个命令会自动检测Nginx配置文件的位置,并在需要时创建或修改它。你需要提供电子邮件地址以便Certbot发送通知,并且可能需要接受Let’s Encrypt的服务条款。
server块来处理HTTPS请求。你需要确保这个server块监听443端口,并且配置了SSL相关的设置,如证书文件路径、私钥文件路径等。一个典型的Nginx SSL配置可能如下所示:
server {
listen 443 ssl;
server_name yourdomain.com www.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;
# 其他配置...
location / {
root /var/www/html;
index index.html index.htm;
}
# 其他location配置...
}
sudo nginx -s reload
Certbot通常会在安装时创建一个自动续订的systemd服务文件。你可以检查/etc/systemd/system/目录下是否有certbot.service文件,并启用它:
sudo systemctl enable certbot.service
sudo systemctl start certbot.service
Certbot会自动尝试续订证书,并在证书即将过期时发送通知。
请注意,这些步骤可能会根据你的操作系统和Nginx版本有所不同。确保查阅Certbot和Nginx的官方文档以获取最新和最详细的指导。