技术解析

ngnix 做代理的问题
0
2021-05-20 22:36:03
idczone

目前想实现这样一个功能:用户发出请求在获取服务器 A 的内容前,先查询服务器 B 是否有权限,如果有,则将请求转发给 A,返回内容。如果没有,返回给用户权限不足的信息。

最近刚入门 ngin国外服务器x,我的一个实现思路是用户原始请求到达后 subsequent 模块产生一个新请求到服务器 B,根据 B 的返回结果来确定是否用 proxy_pass 原请求到服务器 A。我看《深入理解 nginx 》这本书讲解 B 返回之后的回调函数一般是构造响应包发送给用户,不知在这一步再产生一个 subsequent 的做法是否可行呢?

恳请大家指教~~


没在 nginx 中实现过这么复杂的逻辑,用 lua 应该能做到。可以考虑直接在 A 服务器代码中请求 B 服务器是否有权限。

因为服务器 A 的代码不便修改,所以还是想尽量用代理实现,我去看看 lua,感谢~

难道不是所有请求都打到 B,
然后 B 判断是否有权限,没权限直接返回给 nginx 403,有权限再向 A 请求了结果后返回给 Nginx 吗?

这样所有的逻辑处理都在 B,A 的代码也不用改,nginx 也只做了反代的功能,结构不是更清晰吗?

有道理啊,可是 B 也不便修改呢- -

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服