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

Nginx proxy_pass与API的查询字符串存在问题,api,nginx,Api,Nginx,我正在尝试将linux api盒上的某个rest端点代理到windows盒。这是我现在拥有的 我的linux api盒 ... location ~ ^/api/v0/roslyn(.*)$ { resolver 8.8.8.8; proxy_pass $scheme://my-windows-box.com/roslyn$1; } 例如,我想代理以下url http://my-linux-box.com/api/v0/roslyn?q=5 到 但是,它似乎缺少queryst

我正在尝试将linux api盒上的某个rest端点代理到windows盒。这是我现在拥有的

我的linux api盒

...
location ~ ^/api/v0/roslyn(.*)$ {
    resolver 8.8.8.8;
    proxy_pass $scheme://my-windows-box.com/roslyn$1;
}
例如,我想代理以下url

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


但是,它似乎缺少querystring,因此正则表达式失败了?

我认为您无法通过正则表达式匹配args,请尝试此方法

location /api/v0/roslyn {
    resolver 8.8.8.8;
    proxy_pass $scheme://my-windows-box.com/roslyn$is_args$query_string;
}
这是一个复制品
location /api/v0/roslyn {
    resolver 8.8.8.8;
    proxy_pass $scheme://my-windows-box.com/roslyn$is_args$query_string;
}