使用 nginx:从公共 IP 请求时需要身份验证,本地时不需要

NMS*_*NMS 5 nginx http-basic-authentication

我编写了一个简单的文件浏览器应用程序,它使用端口 3000 上的节点提供服务。我使用 nginx 作为代理此服务的前端。这是在我的家庭服务器上。

当我通过公共 IP 访问它时,我希望能够要求基本的 HTTP 身份验证,但当我在家时则不需要。我有这个配置:

location /files {
  satisfy any;
  allow 10.1.0.0/24;
  deny all;
  auth_basic "Authentication Required";
  auth_basic_user_file /etc/access_list;
  proxy_pass http://127.0.0.1:3000/;
}
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用。当我在同一个子网上的家庭网络上时,它仍然需要我进行基本的 HTTP 身份验证。我曾认为“允许>拒绝>身份验证”与“满足任何”配对的顺序是正确的。我在这里做错了什么吗?这可能吗?

mas*_*oeh 0

上面的配置有错别字。连接来自 10.1.1.157,但配置文件只允许来自 10.1.0.0/24。

修复方法很简单:将有问题的行更改为以下行:

allow 10.1.1.0/24;
Run Code Online (Sandbox Code Playgroud)