В моей локальной сети есть веб-сервер с URL-адресом https://10.0.0.22
и я пытаюсь получить к нему доступ через Интернет через обратный прокси-сервер nginx с 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/;
}
Есть ли способ настроить nginx так, чтобы перенаправление внутреннего веб-сервера 302 в /login.php
внешне проявлялось как /my/web/app/login.php
?