我有一个Nginx服务器,我试图使用Let的加密添加SSL.
我的开发设置如下:
url : dev.domain.in
root: /var/www/dev/html
制作如下:
url : domain.in
root: /var/www/production/html
所以在我的Nginx默认页面中,我有两个服务器块,一个用于开发,另一个用于生产
我想为两台服务器提供一个证书.
我知道根据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;
}
…包含在每个站点的服务器块中.
.well-known目录中的文件是临时的 – 它们只存在足够长的时间以完成授权过程,然后被删除.
注册成功后,我会通过include ssl / example.com.conf将证书定义包含在服务器块中;该文件包含以下内容:
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
…以及相关的listen指令以在端口443上启用SSL.
您可以在多个服务器块中包含相同的定义.
我的证书中还有其他子域作为SAN,我有example.com,www.example.com和click.example.com等其他子域的单独服务器块 – 所有子域都使用相同的证书.