我在这里遇到一个独特的问题。我有一个带管理面板的nginx服务器(admin.example.com)。现在我想只允许特定的IP地址访问该服务器,我知道我们可以通过nginx allow和deny标签来实现。但是对于非技术用户来说这种方法非常困难,并且需要访问服务器本身才能进行更改,然后重新加载nginx。目的是使任何人都可以轻松地将IP地址列入白名单。
我们想出了一个UI app.example.com(托管在不同的服务器上),以便管理IP地址。现在我想通过这个新服务器路由所有(admin.example.com)请求,该服务器将检查是否允许IP,然后将请求代理到admin.example.com,否则拒绝访问。
我的问题是我们如何通过app.example.com路由所有请求,一旦验证了IP,然后将请求转发到admin.example.com这里的来源?
如果可以通过nginx反向代理,那么我是否需要通过本地上游(如PHP或python)处理请求,然后在验证后转发请求?
任何有关nginx配置伪代码的示例都将受到高度赞赏。
我知道像Cloudflare这样的服务可以做到,但我只需要一个基本设置。
答案 0 :(得分:0)
这就是我想要的How do I make web service calls within nginx?。另一种方法是使用Openresty lua JIT预处理请求,然后将其转发给反向代理。