Использование nginx для создания корпоративного зонтичного сайта

Использование nginx для создания корпоративного зонтичного сайта

Мой клиент требует объединить все свои предприятия в один зонт, не перемещая их из исходных местоположений. Например, у него уже есть сайт, работающий как realestate.com и movers.com, и теперь он хочет объединить их под corporate.com так, чтобы ссылка corporate.com/real сопоставлялась с real.corporate.com и отображала веб-сайт, размещенный на realestate.com. Это не перенаправление, поэтому в строке URL будет отображаться real.corporate.com для realestate.com, и все ссылки также будут относительными, например realestate.com/index.html будет отображаться как real.corporate.com/index.html. realestate.com/portfolio/houses/pictures станет real.corporate.com/portfolio/houses/pictures. Я пробовал использовать proxy_pass, но это меняет URL. В настоящее время я тестирую его с одним сайтом, и ниже приведен мой блок сервера

server{
listen 80;

location / {
proxy_pass http://www.realestate.com/;
sub_filter_once off;
proxy_redirect off;
proxy_set_header Host $host;
}
}

Эта настройка перенаправляет меня напрямую на realestate.com, а URL-адрес также меняется в браузере. Изменение местоположения на location /realприводит к ошибке 404.

Пожалуйста помоги

решение1

Ваша конфигурация не делает никаких перенаправлений. Перенаправление отправляется вышестоящим веб-сервером по адресу realestate.com.

Приложение отправляет перенаправление на realestate.com, поскольку запрос не отправляется на домен, настроенный в приложении.

Вы можете изменить это, используя

proxy_set_header Host www.realestate.com;

Эта настройка отправляет прокси-запрос на восходящий поток с Host: www.realestate.comзаголовком, который позволяет ему попасть на нужный виртуальный сервер на восходящем сервере.

Однако у вас все равно могут возникнуть проблемы со ссылками, сгенерированными www.realestate.com.

Кроме того, если www.realestate.comотправляется HTTP-перенаправление, вам необходимо заменить содержимое перенаправления директивой proxy_redirect default;.

Связанный контент