一个对带有Args的多个Nginx主机的请求

时间:2018-11-14 23:41:32

标签: http nginx lua request microservices

我在使用Nginx进行后端服务的请求路由时遇到了一个小问题。在我的场景中,我有一个前端服务和另一个用于记录具有不同请求类型的404请求的日志记录服务。

---> serviceFrontend / product / productName ---->如果是404 ----> serviceLogger?productId = productName

如何创建新请求并在serviceFrontend服务触发的同时发送请求。

请帮助我!


问题的解决方法

我已经使用nginx解决了post_action注释的问题。

资源:

https://forum.nginx.org/read.php?2,275992,275992

1 个答案:

答案 0 :(得分:1)

您应该具有针对404错误的自定义错误位置,并将请求通过代理传递给上游。另外,您还需要重写模块来在查询字符串上设置ProductName。像下面这样的东西:

location /serviceFrontend/product {
    error_page 404 = @log404;
}

location @log404 {
    rewrite ^/serviceFrontend/product/(.*)$ /serviceLogger?productId=$1 break;
    proxy_pass http://logger.example.com;
}