
Meu cliente precisa combinar todos os seus empreendimentos em um único guarda-chuva, sem movê-los de seus locais originais. Por exemplo, ele já tem um site rodando como realestate.com e movers.com e agora deseja combiná-los em corporate.com de forma que o link corporate.com/real seja mapeado para real.corporate.com e mostre o site hospedado em realestate. com. Este não é um redirecionamento, portanto a barra de URL mostrará real.corporate.com para realestate.com e todos os links também serão relativos, por exemplo, realestate.com/index.html será exibido como real.corporate.com/index.html. realestate.com/portfolio/houses/pictures se tornará real.corporate.com/portfolio/houses/pictures. Tentei usar proxy_pass mas isso altera o URL. Atualmente estou testando com um site e a seguir está o meu bloco de servidor
server{
listen 80;
location / {
proxy_pass http://www.realestate.com/;
sub_filter_once off;
proxy_redirect off;
proxy_set_header Host $host;
}
}
Essa configuração me leva diretamente para realestate.com e o URL também é alterado no navegador. mudar de local para location /real
dá erro 404.
Por favor ajude
Responder1
Sua configuração não faz nenhum redirecionamento. O redirecionamento é enviado pelo servidor web upstream em realestate.com
.
A aplicação envia um redirecionamento para realestate.com
, pois a solicitação não é enviada para o domínio configurado na aplicação.
Você pode mudar isso usando
proxy_set_header Host www.realestate.com;
Esta configuração envia a solicitação de proxy upstream com Host: www.realestate.com
cabeçalho, o que fará com que ela acabe no servidor virtual adequado no servidor upstream.
No entanto, você ainda pode ter problemas com links gerados por www.realestate.com
.
Além disso, se www.realestate.com
enviar qualquer redirecionamento HTTP, você precisará substituir o conteúdo do redirecionamento pela proxy_redirect default;
diretiva.