允许无需身份验证的访问

时间:2021-04-27 13:07:04

标签: nginx

192.168.1.1 访问 192.168.1.0(服务器)并且什么都不做,

192.168.1.2 访问 192.168.1.0 需要输入用户名和密码,

192.168.1.3 访问 192.168.1.0 会收到“403 Forbidden”警告。

我只能同时带两次工作,但从来没有带过三个。

你能帮我吗?

TIA

1 个答案:

答案 0 :(得分:0)

前两种情况可以使用 satisfy 指令实现。有关详细信息,请参阅 this document

可以使用 geo 块和 if...return 语句单独生成 403 响应。有关详细信息,请参阅此文档。

例如:

geo $reject {
    default        1;
    192.168.1.1    0;
    192.168.1.2    0;
}
server {
    ...
    if ($reject) { return 403; }

    satisfy any;
    allow 192.168.1.1;
    deny  all;

    auth_basic           "closed site";
    auth_basic_user_file conf/htpasswd;
    ...
}