Usando nginx para criar um site corporativo

Usando nginx para criar um site corporativo

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 /realdá 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.comcabeç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.comenviar qualquer redirecionamento HTTP, você precisará substituir o conteúdo do redirecionamento pela proxy_redirect default;diretiva.

informação relacionada