我试图弄清楚是否有一种简单的方法可以将到达 Nginx 的跟踪像素请求转换为 POST,该 POST 将通过一些附加的主体进入上游。
例如,如果我收到 GET 请求http://domain.com/track/mail-id.gif
,我想配置 Nginx 以将其转换为http://upstream/mail-id
带有某些正文的 POST(比如说 status:opened)。
怎么做到呢?
我试图弄清楚是否有一种简单的方法可以将到达 Nginx 的跟踪像素请求转换为 POST,该 POST 将通过一些附加的主体进入上游。
例如,如果我收到 GET 请求http://domain.com/track/mail-id.gif
,我想配置 Nginx 以将其转换为http://upstream/mail-id
带有某些正文的 POST(比如说 status:opened)。
怎么做到呢?
只是想添加一个更详细的示例:
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;
}
在这里提供了一个 url proxy_pass
,以确保请求的确切行为。
您应该能够使用 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。