Configurei o Nginx como um proxy reverso em meu servidor para um site, digamos example.com
Quero que o cliente acesse meu site usando um endereço IP, algo comohttp://192.0.2.67
O problema é que há um redirecionamento no site example.com configurando HTTP para redirecionar para HTTPS. (Este exemplo.com usando Cloudflare)
Quando o cliente acessa meu site, http://192.0.2.67
ele é redirecionado parahttps://example.com
Como desativo o redirecionamento HTTP para HTTPS em meu proxy reverso Nginx?
Meu código é como abaixo:
server {
listen 80;
location / {
proxy_pass http://example.com;
}
}
Responder1
Não vejo o redirecionamento no código que você postou na pergunta. Isso significa que o redirecionamento é feito no lado example.com.
Depende de como é feito o redirecionamento. Caso o redirecionamento seja feito simplesmente "http TCP/80 => https TCP/433" e nenhuma verificação a seguir você pode tentar fazer proxy diretamente para https:
server {
listen 80;
location / {
proxy_pass https://example.com;
}
}
Caso isso não ajude, temo que você não tenha muitas chances de sucesso, pois você não é o nó que percebe a força do redirecionamento https.
Caso haja um cabeçalho HTTP Strict Transport Security (HSTS) na página, o redirecionamento é feito no nível do navegador e você também tem chances mínimas de pular o ip (em teoria, você pode tentar filtrar esse cabeçalho).
Responder2
Parece-me que a página está redirecionando, não o servidor web. Através do PHP, isso pode ser conseguido com algo assim:
<?php header('Location: http://google.com') ?>
Nesse caso, é difícil proibir esse tipo de comportamento através do próprio servidor web.
Responder3
Nginx não redireciona aqui. É o servidor de origem que está enviando esse redirecionamento HTTP. Com o Nginx você pode substituir os redirecionamentos enviados pelo seu próprio destino de redirecionamento:
server {
listen 80;
location / {
proxy_pass http://example.com;
# replace redirects
proxy_redirect http://example.com http://192.0.2.67;
}
}
Para mais detalhes vejadocumentação de ngx_http_proxy_module