拦截请求,然后转到另一台服务器



问题

我在这里面临着一个独特的问题。我有一个带有管理面板(admin.example.com)的NGINX服务器。现在,我只想允许特定的IP地址访问该服务器,并且我知道我们可以通过Nginx允许和拒绝标签来实现这一目标。但是,对于非技术用户而言,这种方法非常困难,并且需要访问服务器本身进行更改,然后重新加载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这样的服务可以做到,但我只需要一个基本的设置。

这就是我想要的,如何在Nginx中进行Web服务呼叫?。另一种方法是使用开放性的lua jit来预处理请求,然后将其转发到反向代理。

https://openresty.org/en/

相关内容

最新更新