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?
Tags nginx 301-redirect