Por padrão, nginx
emite uma URL absoluta na resposta 3xx, que inclui o esquema usado para se conectar ao servidor. Seu servidor na porta 8080 está conectado a mais de http
, então esse é o esquema que aparece na resposta 3xx.
Desde a versão 1.11.8, nginx
pode ser configurado para emitir uma URL relativa, o que remove o esquema e o nome do host da URL.
absolute_redirect off;
Veja este documento para detalhes.
Se você estiver usando uma versão mais antiga de nginx
( e atualizando, não é uma opção ), você poderá substituir o comportamento padrão usando uma instrução if...return
explícita.
Sua configuração existente parece bastante simples:
location / {
root html;
index index.html index.htm;
}
Há vários casos de borda, então a solução pode se tornar bastante complexa, mas algo assim pode funcionar para você:
root html;
location ~ /$ {
try_files "${uri}index.html" "${uri}index.htm" =404;
}
location / {
try_files $uri @rewrite;
}
location @rewrite {
if (-d $request_filename) {
return https://$host$uri/$is_args$args;
}
}