Nginx中需要什么配置才能实现以下行为:
无论何时收到请求,都应将其转发给应用程序A;如果应用程序A返回{“allowed”:true}作为响应,则应将相同的请求转发给应用程序B,并且应将来自应用程序B的响应返回给客户端。但是,如果应用程序A返回{“allowed”:true}作为响应,则应将相同的请求转发给应用程序B,并且应将来自应用程序B的响应返回给客户端。false}作为响应,服务器应返回状态码为401的响应。
大概是这样的
server {
listen 80;
location / {
# forword request to App-A;
proxy_pass https://app-A.dev/;
# Read the response
if response['allowed'] == true;
# forword it to application B
proxy_pass https://app-B.dev/;
else:
return '401';
}
}
1条答案
按热度按时间wwtsj6pe1#
我根本无法测试这个,因为我没有一个类似的环境,但
lua
脚本应该是这样的:请参阅有关模块here的更多信息