nginx 身份验证密码或 ip

nginx 身份验证密码或 ip

在 apache 中我可以有一个 Satisfy Any 指令,允许从指定的 IP 无需密码进行访问。

用nginx怎么办?

<Directory /home/www/site1/private>
  AuthUserFile /home/www/site1-passwd
  AuthType Basic
  AuthName MySite
  Require valid-user
  Order allow,deny
  Allow from 172.17.10
  Satisfy any
</Directory>

答案1

简单的:

location / {
    root /home/www/site1/private;
    satisfy  any;
    allow  172.17.10.0/24;
    deny   all;

    auth_basic            "MySite";
    auth_basic_user_file  /home/www/site1-passwd;
}

相关内容