如何根据Nginx的IP地址采取不同的行为?

我目前有一个应用程序,我想让每个人都来自两个特定的IP地址,并通过来自另一个IP的用户的同一个URL来保护同一个应用程序。

例如,我允许用户有190.190.190.110190.190.190.112 。 而对于其他人,我希望Nginx引用一个htpassword文件。

有谁知道如何做到这一点?

编辑:快速

尝试这个:

  location / { satisfy any; allow 82.242.75.92; allow 82.242.75.98; deny all; auth_basic "Restricted"; auth_basic_user_file /home/password_manager/passwords; } 

这是未经testing..但是这样的事情可能会在你的服务器块

 server { if ($remote_addr !~* "190.190.190.[110|112]") { auth_basic "Restricted"; auth_basic_user_file /path/to/htpasswd.file; } } 

我的正则expression式可能是错误的,但这是如何做到的。

我不认为你可以直接限制基于IP的basic-auth,但你可以强制redirect到一个单独的站点(即新的服务器块)。

看一下这个:

根据IP地址/子网使用Nginx来服务不同的页面

(我需要自己运行和实现…)