nginx 是否有类似于 Apache 的指令?

nginx 是否有类似于 Apache 的指令?

我正在尝试设置一个 nginx 服务器来替换我们当前基于 Apache 的设置。我们的用户有受密码保护的目录(使用 .htaccess 文件中的指令),我们需要在新设置中保护这些目录。

据我所知,nginx 没有 Directory 指令,只有 Location 指令,它引用的是 URI,而不是文件系统路径。这意味着如果可以通过多个 URL 访问目录,我必须将它们全部包含在一个或多个 Location 指令中。例如:

domain.com, root: /home/user/public_html
sub.domain.com, root: /home/user/public_html/sub

如果用户保护sub.domain.com/admin(目录/home/user/public_html/sub/admin),我必须确保/admininsub.domain.com/sub/adminin都domain.com使用相同的密码文件进行保护。我宁愿保护目录本身,而不是访问者可以访问其内容的 URL。

那么,nginx 是否有任何机制允许在配置文件中引用文件系统路径,就像 Apache 的<Directory>块一样 - 或者也许我只是误读了 nginx 的文档?

答案1

nginx 没有这样的机制,我一般会针对不同的主机设置不同的目录:

domain.com, root: /home/user/sites/domain.com
sub.domain.com, root: /home/user/sites/sub.domain.com

这简化了(nginx)配置。

相关内容