我正在https
为我们的服务器添加支持。添加 Let's Encrypt 支持时如何不停止 Nginx?
问问题
4011 次
3 回答
7
将此块添加到您的server
配置中(取决于您的服务器配置,您可以使用除 之外的其他路径/var/www/html
):
location ~ /.well-known {
root /var/www/html;
allow all;
}
重新加载nginx,运行certbot如下:
certbot certonly -a webroot --webroot-path=/var/www/html -d yourdomain.example
将生成的证书应用于您的server
配置
ssl_certificate /etc/letsencrypt/live/yourdomain.example/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.example/privkey.pem;
确保服务器设置配置为使用 ssl 在端口 443 上运行:
listen 443 ssl;
重新加载nginx。在重新加载之间,您可以通过运行nginx -t
.
于 2017-05-24T09:02:23.290 回答
2
针对所有答案,您可以在 nginx 模式下运行 certbot。
只需阅读文档即可。
您所要做的就是安装一个额外的 nginx 插件并遵循 certbot 的文档。
该插件甚至会在更新后立即在 nginx ram 中热重新加载缓存的证书。
https://certbot.eff.org/instructions
或者转到 nginx 文档:https ://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/
于 2017-06-13T08:55:20.080 回答
2
您可以为此使用 docker。hub.docker 上的链接
例如:
创建 certbot.sh
为此,您必须在 CLI 中运行:
touch certbot.sh && chmod +x ./certbot.sh
写入文件:
#!/usr/bin/env bash
docker run --rm -v /etc/letsencrypt:/etc/letsencrypt -v /var/lib/letsencrypt:/var/lib/letsencrypt certbot/certbot "$@"
并像这样运行:
./certbot.sh --webroot -w /var/www/example -d example.com -d www.example.com -w /var/www/thing -d thing.is -d m.thing.is
或者
./certbot.sh renew
您可以在 crontab 中添加调用此方法进行更新
0 0 1 * * /<PATH_TO_FILE>/certbot.sh renew
于 2017-05-24T08:50:42.080 回答