Nginx:获取代理\u pass使用的上游URI

Nginx:获取代理\u pass使用的上游URI,nginx,logging,nginx-reverse-proxy,proxypass,Nginx,Logging,Nginx Reverse Proxy,Proxypass,我正在使用proxy\u pass并希望记录proxy\u pass使用的URI 我可以记录进程的每个细节,比如$upstream\u addr(IP),除了URI本身 我是否遗漏了什么或这是不可能的?我相信您希望使用的变量是日志格式的$proxy\u host $proxy\u主机 proxy_pass指令中指定的代理服务器的名称和端口 我正在使用proxy_pass,希望记录proxy_pass使用的URI 有,但您仍然无法在那里获取完整URI 视情况而定,但如果您的应用程序已经投入生产,

我正在使用
proxy\u pass
并希望记录proxy\u pass使用的URI

我可以记录进程的每个细节,比如
$upstream\u addr
(IP),除了URI本身


我是否遗漏了什么或这是不可能的?

我相信您希望使用的变量是日志格式的
$proxy\u host

$proxy\u主机
proxy_pass指令中指定的代理服务器的名称和端口

我正在使用proxy_pass,希望记录proxy_pass使用的URI

有,但您仍然无法在那里获取完整URI

视情况而定,但如果您的应用程序已经投入生产,请添加
$upstream\u addr
,并检查上游的访问日志

如果您的应用程序仍在调试中,请使用nginx的
debug
level in指令

我希望得到完整的URI,因为我和我的爱人有点小麻烦。它们似乎被忽略了,我试图记录这些

嗯,您可能被nginx的URI处理规则击中了

请求URI按如下方式传递到服务器:

如果使用URI指定proxy_pass指令,则当请求传递到服务器时,与位置匹配的规范化请求URI部分将替换为该指令中指定的URI:

   location /name/ {
       proxy_pass http://127.0.0.1/remote/;
   }
如果在未指定URI的情况下指定了proxy_pass,则在处理原始请求时,请求URI将以与客户端发送的相同的形式传递给服务器,或者在处理更改的URI时传递完整的规范化请求URI:

   location /some/path/ {
       proxy_pass http://127.0.0.1;
   }
如果需要将完整URI传递给上游,只需将上游而不是上游URI指定给
代理_pass
,并删除此处的任何前斜杠

proxy_pass http://backend_upstream;

谢谢你的回答。
$proxy\u host
只是域名。我希望得到完整的URI,因为我和我的爱人有点小麻烦。它们似乎被忽略了,我试图记录这些。似乎没有任何
$proxy\u request\u uri
函数可以使用,因为它通常与原始函数相同。可能是我重复的问题