我有一种情况,我们已经为所有非现场网站设置了全局级别的auth_basic.是否可以在Nginx中覆盖特定于站点的文件中的此auth_basic,并使用新的身份验证密码将auth_basic应用于特定于站点的路径.
全局级别的auth_basic在/etc/Nginx/conf.d/auth.conf中设置
特定于站点的配置位于/etc/Nginx/sites-enabled/sitename.conf中
include /etc/Nginx/conf.d/*.conf;
include /etc/Nginx/sites-enabled/*;
解决方法:
是的,你可以做到.
引自文档:http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html#auth_basic
Syntax: auth_basic string | off;
Default: auth_basic off;
Context: http, server, location, limit_except
正如您所看到的,指令本身可以在多个级别(上下文)中定义,即如果您在全局级别具有它,则可以在服务器甚至位置级别禁用它.
auth_basic_user_file指令http://nginx.org/en/docs/http/ngx_http_auth_basic_module.html#auth_basic_user_file也是如此
因此,您可以在全局级别定义auth_basic / auth_basic_user_file,并根据每个站点覆盖它
auth.conf:
auth_basic global;
auth_basic_user_file <path_to_your_auth_file>;
sitename.conf:
auth_basic sitenamereal; # any name, actually you can omit it
auth_basic_user_file <path_to_your_site_specific_file>;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。