拦截请求然后转发到另一个服务器

问题描述 投票:0回答:1

Problem

我在这里遇到一个独特的问题。我有一个带管理面板的nginx服务器(admin.example.com)。现在我想只允许特定的IP地址访问该服务器,我知道我们可以通过nginx allow和deny标签来实现。但是对于非技术用户来说这种方法非常困难,并且需要访问服务器本身才能进行更改,然后重新加载nginx。目的是使任何人都可以轻松地将IP地址列入白名单。

Solution

我们想出了一个UI app.example.com(托管在不同的服务器上),以便管理IP地址。现在我想通过这个新服务器路由所有(admin.example.com)请求,该服务器将检查是否允许IP,然后将请求代理到admin.example.com,否则拒绝访问。

Question

我的问题是我们如何通过app.example.com路由所有请求,一旦验证了IP,然后将请求转发到admin.example.com这里的来源?

如果可以通过nginx反向代理,那么我是否需要通过本地上游(如PHP或python)处理请求,然后在验证后转发请求?

任何具有nginx配置伪代码的示例都将受到高度赞赏。

我知道像Cloudflare这样的服务可以做到,但我只需要一个基本的设置。

php python nginx reverse-proxy cloudflare
1个回答
0
投票

这就是我想要的How do I make web service calls within nginx?。另一种方法是使用Openresty lua JIT预处理请求,然后将其转发给反向代理。

https://openresty.org/en/

© www.soinside.com 2019 - 2024. All rights reserved.