Como configurar o Nginx como um proxy reverso

3

Estou tentando configurar o nginx para se comportar como um proxy reverso ouvindo em um subdomínio que controlamos. Eu segui exemplos encontrados on-line e eles trabalham principalmente com uma exceção que não é clara para mim.

Inspecione o bloco do servidor abaixo:

server{
    listen *:80;
    server_name placehold.com;
    charset utf-8;

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log error;

    location / {
        proxy_redirect          off;
        proxy_set_header        Host            $host;
        proxy_set_header    X-Real-IP       $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        client_max_body_size    10m;
        client_body_buffer_size 128k;
        proxy_connect_timeout   90;
        proxy_send_timeout      90;
        proxy_read_timeout      90;
        proxy_buffers           32 4k;

        proxy_pass http://google.com/;
    }
}

google.com é um marcador para este teste.

Se eu visitar um URL como " link " isso funciona perfeitamente, ele me redireciona para uma página de erro do google e o url no navegador permanece como tipos. Mas se eu colocar um URL simples como " link ", ele redirecionará meu navegador para a página inicial do google, o URL do Google claramente exibido no navegador.

Como posso obter o proxy reverso para mascarar corretamente o URL de URLs '/', bem como URLs '/ with / some / path'?

    
por Radmilla Mustafa 25.07.2014 / 22:48

1 resposta

2

Seu proxy está funcionando bem. Visitando http://google.com retorna:

301 Moved Permanently
Location:https://www.google.com/

Seu navegador está sendo redirecionado para http://www.google.com

    
por 25.07.2014 / 22:55