是否可以在 Nginx 中混合一些配置设置?例如,auth_basic 应该可以在任何地方使用。并且还存在针对某个目录的其他配置。或者存在 PHP 解释器...
# conf A
location / {
try_files $uri $uri/ =404;
auth_basic $auth;
auth_basic_user_file /var/www/admin/.htpasswd;
}
# conf B
location /awstats/classes/ {
alias /usr/local/awstats/wwwroot/classes/;
}
# conf C
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
那么这里会发生什么:如果请求以 .php 结尾,则 auth_basic 不起作用。对于任何对 /awstats/classes/ 的请求,auth_basic 都不起作用。
有没有办法级联或混合不同的配置?那么 Nginx 例如使用 conf A AND B 吗?
答案1
是的。要实现此功能,您应该阅读有关location
匹配。