我编写了一个简单的文件浏览器应用程序,它使用端口 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 身份验证。我曾认为“允许>拒绝>身份验证”与“满足任何”配对的顺序是正确的。我在这里做错了什么吗?这可能吗?