1. 使用certbort
生成有效期三个月的证书
certbot certonly --webroot -w /usr/share/nginx/html
会要求用户输入域名。
--webroot -w
参数的意义在于让Let’s Encrypt可以从外部根据输入的域名,试图获取-w
中由certbot
生成并存放的临时文件,从而确认该域名确实在用户的控制之下。
详细参考:User Guide — Certbot 0.34.0.dev0 documentation
2. 部署certificates到Nginx
执行certbort
之后,在/etc/letsencrypt/live
下会生成certificates。
配置nginx添加如下内容启用:
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_certificate /etc/letsencrypt/live/your-domain-name/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain-name/privkey.pem;
注意这里使用fullchain.pem
作为证书文件,而不是cert.pem
。否则会出现客户端无法获取证书的错误。
3. 重启nginx
nginx -s reload