Proxy reverso Nginx para URL externo que tem redirecionamentos em vigor

3

Senhores da tarde,

Minha configuração atual é de um único site, vamos chamar o link , que está sendo veiculado pelo Nginx na porta 80 como um cache estático e o Apache no fundo na porta 8080 localhost, nada realmente fantasia e isso funciona muito bem.

O que eu estou tentando fazer agora é fazer com que o link de URL inclua dados de um URL externo que chamaremos de < href="http://internal.com/"> link .

O problema que estou tendo é que, se eu navegar até o link , serei redirecionado automaticamente para link por ser um fórum do vBulletin que possui seus próprios redirecionamentos internos e o que não é baseado na variável de URL do site. É claro que a mesma coisa acontece se eu tentar procurá-lo através do Nginx, eu acabei de ser "encaminhado" para a URL ../forum/forum.php.

Então, como eu resolveria isso? Existe uma maneira de tornar esse redirecionamento invisível de alguma forma e não permitir que o Nginx realmente o siga na barra de endereços de alguma forma? Basicamente, um iframe sem usar um iframe real. : -)

Este é o meu snippet de código Nginx que estou tentando agora:

    location /foobar {
            proxy_pass      http://internal.com/;
            proxy_redirect  off;
            proxy_set_header        Host $host;
    }

Idéias? Agradecemos antecipadamente.

    
por Lars 12.03.2013 / 13:00

1 resposta

1

Eu descobri que, neste caso, você basicamente tem duas opções diferentes.

  1. Ou você usa o módulo ngx.lua , como Andrei Mikhaltsov apontou, e muda o proxy em qualquer resposta HTTP que você receber de volta, isso pode ser um grande pesadelo.

  2. Você faz algumas alterações em qualquer aplicativo para o qual está "encaminhando", que no nosso caso era um fórum.

No nosso caso, escolhemos o número 2 e, basicamente, os colocamos sob o mesmo domínio e fizemos algumas alterações no fórum.

    
por 13.03.2013 / 14:00