Fiquei super interessado em saber como posso fazer um redirecionamento de um requisição HTTP para HTTPS usando o NGINX no ambiente Heroku. Observação o frontend é feito com React(Vite).
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Fiquei super interessado em saber como posso fazer um redirecionamento de um requisição HTTP para HTTPS usando o NGINX no ambiente Heroku. Observação o frontend é feito com React(Vite).
Olá Max, tudo bem?
Fico feliz em saber do seu interesse! Para fazer o redirecinamento de HTTP para HTTPS no NGINX, você precisa adicionar algumas configurações no arquivo de configuração do NGINX. Mas, antes disso, é importante notar que o Heroku já fornece um certificado SSL para o seu aplicativo, então você não precisa se preocupar com isso.
Aqui está um exemplo de como você pode configurar o redirecinamento no arquivo de configuração do NGINX:
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://localhost:5000; # substitua por sua porta
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
if ($http_x_forwarded_proto != 'https') {
return 301 https://$host$request_uri;
}
}
Neste exemplo, estamos dizendo ao NGINX para ouvir na porta 80 (HTTP) e redirecionar todas as requisições para HTTPS se a requisição não for HTTPS. Estamos usando a variável $http_x_forwarded_proto que é uma variável padrão do Heroku para identificar o protocolo da requisição original.
Para o seu caso específico com o React, você pode precisar fazer algumas alterações adicionais dependendo de como você configurou o seu projeto. Por exemplo, se você estiver usando o create-react-app, você pode precisar adicionar a seguinte linha no seu package.json:
"proxy": "http://localhost:5000",
Isso irá dizer ao servidor de desenvolvimento para proxy todas as requisições desconhecidas para o servidor NGINX na porta 5000.
Espero que isso te ajude a entender como configurar o redirecinamento de HTTP para HTTPS no NGINX no Heroku. Lembre-se, esta é apenas uma sugestão e pode não funcionar perfeitamente dependendo do seu cenário específico.
Espero ter ajudado e bons estudos!