我的 LAN 上有一个带有 URL 的 Web 服务器https://10.0.0.22,我正在尝试通过 nginx 反向代理从 Internet 访问它,URL 类似于https://domain.com/my/web/app.
我遇到的困难是本地服务器将 302 重定向发送到/login.php,然后 nginx 将其传回外部客户端的浏览器,https://domain.com/login.php而不是https://domain.com/my/web/app/login.php. 这会导致 404 错误,因为https://domain.com/login.php.
我曾尝试,但收效甚微许多不同的选项,其中包括广泛的rewrite,proxy_redirect和proxy_buffering指令,但是这是接近我可以得到它:
location ^~ /my/web/app/
{
proxy_buffering off;
rewrite /my/web/app/(.*) /$1 break;
proxy_pass https://10.0.0.22/;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法配置 nginx 以便内部 Web 服务器的 302 重定向到 /login.php外部显示为/my/web/app/login.php?