Nginx proxy_pass与API的查询字符串有问题

时间:2013-06-29 16:14:23

标签: api nginx

我正在尝试将我的linux api盒上的某个休息端点代理到我的Windows框中。这就是我现在所拥有的。

我的linux api box

...
location ~ ^/api/v0/roslyn(.*)$ {
    resolver 8.8.8.8;
    proxy_pass $scheme://my-windows-box.com/roslyn$1;
}

例如,我想代理以下网址

http://my-linux-box.com/api/v0/roslyn?q=5

http://my-windows-box.com/roslyn?q=5

然而,似乎缺少查询字符串,所以正则表达式失败了?

1 个答案:

答案 0 :(得分:7)

我认为你不能通过正则表达式来匹配args,而是尝试使用

location /api/v0/roslyn {
    resolver 8.8.8.8;
    proxy_pass $scheme://my-windows-box.com/roslyn$is_args$query_string;
}