Nginx proxy_pass e redirecionamento

1

Eu tentei limpar meus URLs na minha configuração nginx do proxy reverso. Minha configuração se parece com isso

upstream blog {
    ip:port;
}
server {
        listen       80;
        server_name  domain.tdl www.domain.tdl;

        rewrite ^/index.html$ / redirect;
        rewrite ^(/.+)/index.html$ $1 redirect;

        if ($request_uri ~* ".html") {
            rewrite (?i)^(.*)/(.*)\.html $1/$2 redirect;
        }

        location / {
            rewrite ^/(.*) /$1 break;
            proxy_pass http://blog;
        }
}

Desde que a porta no meu blog upsteam seja 80, tudo funciona bem. Mas se eu mudar isso para outra coisa, o nginx tentará redirecionar meus pedidos para domain.tdl: port, o que obviamente não funciona. Eu cansei muitas combinações de proxy_set_header e proxy_redirect mas nada funciona para mim.

Conforme solicitado um pouco mais detalhadamente, todas as saídas são de curl -Lv :

Eu configurei ip: port para ip: 8000

< HTTP/1.1 301 Moved Permanently
< Location: http://blog:8000/archiv/

Eu defino proxy_pass para http://blog http://domain.tdl

< HTTP/1.1 301 Moved Permanently
< Location: http://domain.tdl/:8000/archiv/

eu configurei ip: 80

< HTTP/1.1 301 Moved Permanently
< Location: http://domain.tdl/archiv/

Alguém tem uma ideia de por que isso acontece ou como posso consertar isso?

    
por Sir l33tname 26.06.2015 / 23:45

0 respostas