Letsencrypt 多个 nginx conf

Lets Encrypt multiple nginxconf

我对使用 Let's Encrypt 和多个 nginxconf 文件有一些疑问。

.众所周知的位置块

我需要将这个位置块放在每个 nginxconf 文件中,还是只放在默认的 nginxconf 中?

location ~ /.well-known {
      allow all;
}

我的默认配置文件用于显示 "Nginx is working" 页面。我的其他服务器块位于单独的 nginxconf 文件中,用于将特定应用程序绑定到特定域。

我的文档根目录是什么?

我在我的服务器上提供多个 Django 应用程序。在 Let's Encrypt tutorial 他们谈论的是文档根目录。这应该是我所有 applications/certificates (例如 /var/www/html) 的单个文档根目录还是每个应用程序都有自己的文档根目录(例如根文件夹我的 Django 应用程序)?

注意:我的 Django 应用程序不在 /var/www/html 中,而是在我的主目录中的一个目录中。

您必须在每个需要验证的 nginx 配置文件中包含 'well-known' 位置块。 因此,如果您使用多个 nginx 配置文件为多个域提供服务,则必须在所有这些文件中放置 'well-known' 位置块。

文档根目录是nginx搜索文件的地方。 /var/www/html 是默认文档根 Eg:

 location ~ /media {
    root /www/media;
}

当你点击 URL 就像 http://my-server/media/image1 然后 nginx 搜索 /www/media 路径中的文件。 因此,您可以指定自己的文档根目录,如果您的 Django 应用程序位于 /home/my_django 中,则在位置块中指定 root /home/my_django

注:

location ~ /.well-known {
   allow all;
}

Nginx 在 /var/www/html 中搜索 .well-known,因此如果您在其他位置有 .well-known,请指定 'root' 指令。