Nginx proxy_pass показывает URL домена 2 в браузере

#nginx #reverse-proxy #proxypass

Вопрос:

Я должен перенаправить свой домен 1 на другую страницу, которая находится в другом домене 2. Я добавил URL-адрес proxy_pass в блоке определения местоположения. Но браузер показывает URL домена 2, но мне нужно оставаться в домене 1 в браузере.

Ответ №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;
    }
}
 

Комментарии:

1. Я пробовал много методов, основанных на пути прокси-сервера, и также попробовал этот фрагмент. Но он получает внутреннюю ошибку при попытке localhost:80 прокси, переданный google.com