我是 Nginx 的新手,我的要求差不多是这样的:
我在我的服务之前将 Nginx 设置为前端服务,这就像一个反向代理服务器,而我需要根据传入的客户标头处理任何传入的 http 请求。我知道我可以设置反向代理,如下所示:
server {
listen 18080;
server_name localhost;
location /myService {
proxy_pass http://host:port/myservice/;
}
}
我也知道通过使用 $http_my_header 从传入请求中获取传入的“my-header”,我需要的是,从请求中检索“my-header”,然后调用另一个远程 Web 服务,如“http://authserver:authport/authorize ” 在请求标头中带有“my-header”,authserver 将授权“my-header”并回复基于 JSON 的响应,例如:
{
valid: "true"/"false";
}
然后我需要根据响应“有效”值来决定 proxy_pass 请求到 nginx 后面的 myservice 或直接拒绝 403 http 响应。