gpt4 book ai didi

ssl - 如何使用 Lets Encrypt 为子域添加证书

转载 作者:太空宇宙 更新时间:2023-11-03 12:44:09 25 4
gpt4 key购买 nike

我有一个 NGINX 服务器,我正在尝试使用 Let's Encrypt 添加 SSL。

我的开发设置如下:

url : dev.domain.in
root: /var/www/dev/html

制作如下:

url : domain.in
root: /var/www/production/html

所以在我的 nginx 默认页面中,我有两个服务器 block ,一个用于开发,另一个用于生产

我想为两台服务器提供一个证书。

根据Let's Encrypt网站我知道命令如下

cd /opt/letsencrypt ./letsencrypt-auto certonly -a webroot --webroot-path=/usr/share/nginx/html -d example.com -d www.example.com

但这只有在 SUBDOMAIN 具有相同的 webroot 时才能完成,这在我的情况下不是真的。

那么我如何在这里为两者添加 CERT

请帮帮我

最佳答案

我在我的 nginx 机器上的所有虚拟主机上使用一个通用的 webroot。

/opt/certbot/certbot-auto certonly --webroot --agree-tos -w /srv/www/letsencrypt/ \
-d example.com,www.example.com

... 在 nginx 中我有 snippets/letsencrypt.conf:

location ~ /.well-known {
root /srv/www/letsencrypt;
allow all;
}

...每个站点都包含在我的服务器 block 中。

.well-known 目录中的文件是临时的 - 它们只存在足够长的时间以完成授权过程,然后被删除。

一旦注册成功,我就会通过 include ssl/example.com.conf; 在服务器 block 中包含证书定义,其中该文件包含以下内容:

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

...连同相关的监听指令以在端口 443 上启用 SSL。

您可以在多个服务器 block 中包含相同的定义。

我的证书中还有其他子域作为 SAN,并且我有单独的服务器 block 用于 example.comwww.example.com 以及其他子域,例如 click.example.com - 全部使用相同的证书。

关于ssl - 如何使用 Lets Encrypt 为子域添加证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36674597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com