将Nginx上的请求从GET重写为POST与body(用于跟踪像素)

时间:2017-02-28 11:00:35

标签: web-services redirect nginx webserver tracking-pixel

我试图弄清楚是否有一种简单的方法可以将到达Nginx的跟踪像素请求转换为POST,并通过一些附加的身体进入上游。

例如,如果我收到http://domain.com/track/mail-id.gif的GET请求,我想配置Nginx将其转换为与某个正文http://upstream/mail-id转到的POST(让' s说状态:打开)。

怎么做?

2 个答案:

答案 0 :(得分:4)

只是想添加一个更详细的例子:

location /track/mail-id.gif {
    proxy_pass http://upstream/mail-id;
    proxy_method POST;
    proxy_set_body "status:opened";
    # if needed
    # proxy_set_header Some-Header value;
}

此处为proxy_pass提供了一个网址,以确保所要求的确切行为。

答案 1 :(得分:0)

您应该能够使用Nginx代理功能来实现此功能,特别是使用proxy_method指令。

类似的东西:

location /track/mail-id.gif {
    proxy_pass http://upstream
    proxy_method POST
}

有关Nginx代理指令的更多信息,请参阅http://nginx.org/en/docs/http/ngx_http_proxy_module.html