

















这是一个创建于 431 天前的主题,其中的信息可能已经有所发展或是发生改变。
以这个配置为例
location /test {
proxy_pass http://localhost/
}
当请求 /test/api?a=1 时 实际向上游发起的地址为 http://localhost/api?a=1
这由 nginx 的内置机制自动完成
现在,是否有 nginx 变量或者其他方案可以获取到这个 http://localhost/api?a=1 (目前是人工算的)
如果自己利用 $uri $request_uri 之类的拼接很麻烦
1 JohnZorn 2025 年 3 月 21 日```conf |
3 66z 2025 年 3 月 21 日add herader 的功能,加上内置变量拼接应该可以,写法问下 AI |
4 a33291OP @66z 不好弄,自带的指令能力非常有限,同时比如 proxy_pass 尾部带/和不带/区别也很明显,这些细节在自己拼接 URL 非常难受,所以想要直接拿到 nginx 完全处置完成之后的结果 path |
7 a33291OP @Hanada #6 感谢大佬,请教一下 $upstream_uri 就是已经规范化之后的最终上游地址了吗? 另外这个变量貌似 openresty 还是 nginx 官方自己的 upstream 模块也输出这个变量,如果同时用的话感觉会冲突(主要是他默认版本就包含了 upstream 模块) |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。