【问题标题】:Nginx proxy_pass is showing domain 2 url in browserNginx proxy_pass 在浏览器中显示域 2 url
【发布时间】:2025-12-11 02:00:01
【问题描述】:

我必须将我的域 1 重定向到另一个域 2 中的另一个页面。我在 location 块中添加了 proxy_pass url。但是浏览器显示的是域2的url,但我需要在浏览器中停留在域1中。

【问题讨论】:

    标签: nginx reverse-proxy proxypass


    【解决方案1】:

    如果我理解正确,您正在尝试在反向代理后面处理重定向。这是一个 error_page 技巧:

    server {
        location / {
            proxy_pass http://backend;
            proxy_intercept_errors on;
            error_page 301 302 = @handle_redirects;
        }
        location @handle_redirects {
            set $redirect_location "$upstream_http_location";
            proxy_pass $redirect_location;
        }
    }
    

    【讨论】:

    • 我一直在尝试许多基于代理路径的方法,也尝试了这个 sn-p。但是尝试将 localhost:80 代理传递给 google.com 时出现内部错误