我有一个lua块用于根据节点env填充我的后端url。它转发请求但删除查询参数。
location / {
set_by_lua_block $url {
if os.getenv("NODE_ENV") == 'prod' then
return "https://example.com"
else
return "https://www.com"
}
proxy_pass $url
}
知道我们如何保留查询参数。我的请求看起来像https://newlocation.com/initialize?user=123 ...
答案 0 :(得分:0)
首先 - 确保您只想要query string
,也许您还希望转发path
。
根据nginx documentation,您可以使用变量来在请求代理时构建URL:
因此,如果您只需要query string
,则应使用:
proxy_pass $url$is_args$args;
如果你还需要path
,你应该使用:
proxy_pass $url$request_uri;