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