nginx 中如何记录代理后的最终 URL?

nginx 中如何记录代理后的最终 URL?

出于调试原因,我想找到代理后的完整 URL。

例如

events{}
http {
    server {
        listen 80;
        server_name 0.0.0.0;
        location / {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            proxy_http_version 1.1;
            proxy_set_header   Upgrade $http_upgrade;
            proxy_set_header   Connection "upgrade";

            proxy_pass http://kibana.logging.svc.cluster.local:5601;
        }
        location = /50x.html {
            root /usr/share/nginx/html;
        }
        error_page 500 502 503 504  /50x.html;
    }
}

如果我这样做curl 0.0.0.0/kibana

我应该得到日志http://kibana.logging.svc.cluster.local:5601/kibana

答案1

这更像是一种权宜之计,而不是真正的解决方案。

为此,我添加了一个临时的 nginx 服务器并让第一台服务器转发到第二台服务器。

然后我检查了第二台服务器的日志。

移除

proxy_set_header Host $host;

解决了我的问题

相关内容