Назад | Перейти на главную страницу

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

Мой клиент требует объединить все свои предприятия в один зонтик, не перемещая их с их первоначального местоположения. Например, у него уже есть сайт, работающий под именами realestate.com и movers.com, и теперь он хочет объединить их в рамках корпоративного.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.

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

Ваша конфигурация не выполняет никаких перенаправлений. Перенаправление отправляется вышестоящим веб-сервером по адресу 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; директива.