Desde a versão 63 do navegador web Chrome (lançado em dezembro de 2017), o mesmo força todos os domínios que terminam em .dev
(e .foo
) a serem redirecionados para HTTPS por meio de um cabeçalho HTTP Strict Transport Security
(HSTS) pré-carregado.
A partir de julho de 2018 o Firefox também iniciou este redirecionamento forçado aos domínios .DEV
para HTTPS.
Este é um assunto pertinente quando se desenvolve em ambientes locais também com Docker Laradock.
.DEV é um gTLD legítimo
Ele foi comprado pelo Google como um de seus mais de 100 novos gTLDs nesta época.
O gTLD .dev
tem servidores de nomes e é basicamente como qualquer outro TLD lá fora. Nós, como desenvolvedores, escolhemos esse nome como um bom substituto para o desenvolvimento local também, sobrescrevendo o DNS público.
Consequências do redirecionamento de .dev para HTTPS
Muitos desenvolvedores (da Web) usavam um TLD .dev
local para seu próprio desenvolvimento. Ou adicionando registros ao arquivo /etc/hosts
ou usando um sistema como o Laravel Valet, que executa um serviço dnsmasq em seu sistema para traduzir *.dev
para 127.0.0.1.
Nesses casos, se você navegar para http://site.dev
, será redirecionado para https://site.dev
, a variante HTTPS.
Isso significa que sua máquina de desenvolvimento local precisa:
- Ser capaz de servir o protocolo HTTPs
- Tenha certificados autoassinados para lidar com esta situação
- Adicionar esse certificado autoassinado ao seu armazenamento de confiança local (você não pode descartar certificados autoassinados com HSTS, eles precisam ser “confiáveis” por seu computador)
Como estas são complexidades, de certa forma, desnecessárias para o desenvolvimento e configuração de seu ambiente local, sugiro uma alternativa simples.
Como resolver
Como .dev
é um gTLD oficial, provavelmente é melhor mudar o sufixo de desenvolvimento local preferido de .dev
para outro.
Se você estiver procurando por uma alternativa rápida de “busca e substituição” para configurações existentes, considere o gTLD .test
, que é um nome reservado pela IETF para fins de teste (ou desenvolvimento).
Também há uma excelente proposta para adicionar o domínio .localhost
como um novo padrão, o que seria mais apropriado aqui. Significaria que não temos mais site.dev
, mas site.localhost
.
E tudo em *.localhost
seria automaticamente traduzido para 127.0.0.1, sem /etc/hosts
ou soluções alternativas dnsmasq.
Comentários