内容提要
本文介绍了使用certbot安装和配置SSL证书的步骤,以及如何续签证书并自动重载nginx配置。
延伸解读
证书申请的关键参数解析
使用certbot申请证书时,--webroot模式要求指定网站根目录,即存放html文件的文件夹路径,例如index.html位于/www/a/b/index.html,则只需填写/www/a/b。-d参数指定已购买的域名,-m填写联系人邮箱,--agree-tos表示同意服务条款。申请成功后,证书文件会生成在/etc/letsencrypt/live/{域名}/目录下,便于后续配置引用。
Nginx配置中的证书文件与安全选项
在Nginx配置中,ssl_certificate应指向fullchain.pem,ssl_certificate_key指向privkey.pem,这两个文件位于/etc/letsencrypt/live/{域名}/下。示例还设置了ssl_protocols、ssl_ciphers、ssl_prefer_server_ciphers、ssl_session_cache等参数,并添加了HSTS头。配置完成后必须重启nginx使更改生效。
自动续签的机制与执行频率
certbot renew命令用于续签证书,--dry-run可测试续签流程,--quiet则静默执行。通过crontab设置定时任务,示例中配置为每周一10点执行certbot renew --quiet && nginx -s reload,即续签后自动重载nginx配置。用户可根据实际需求调整执行时间。
Q&A
如何安装certbot?
使用命令:apt install certbot
申请Let's Encrypt SSL证书的具体命令是什么?
certbot certonly --webroot -w [Web站点目录] -d [站点域名] -m [联系人email地址] --agree-tos
申请成功后证书文件存放在哪里?
证书文件生成在/etc/letsencrypt/live/{域名}/目录下。
如何查看SSL证书的有效期?
使用命令:openssl x509 -noout -dates -in /etc/letsencrypt/live/{域名}/cert.pem
Nginx配置SSL证书需要哪些关键设置?
需要配置ssl_certificate、ssl_certificate_key、ssl_protocols、ssl_ciphers等,配置完成后重启nginx。
如何设置自动续签Let's Encrypt证书?
使用crontab,加入命令:0 10 * * 1 certbot renew --quiet && nginx -s reload,即每周一10点执行续签并重载nginx。