Lidando com o desenvolvimento local de HTTPS
Explore como implementar HTTPS local em seu fluxo de trabalho de desenvolvimento com ferramentas como Mkcert e guias passo a passo para Express.js e Next.js.
Explore como implementar HTTPS local em seu fluxo de trabalho de desenvolvimento com ferramentas como Mkcert e guias passo a passo para Express.js e Next.js.
Ao desenvolver aplicações web, cenários específicos exigem HTTPS, mesmo em um ambiente local. Seja para integrar com APIs de terceiros seguras, testar recursos exclusivos de HTTPS como service workers e HTTP/2, ou replicar condições de produção para garantir um lançamento perfeito, o HTTPS torna-se crucial. Além disso, certas APIs de navegador — como geolocalização, notificações push e gerenciamento de credenciais — exigem um contexto seguro para funcionar efetivamente.
Por exemplo, Logto OSS requer HTTPS por padrão, exceto localhost; em tais casos, aprender a configurar HTTPS para desenvolvimento local pode economizar seu tempo. Este artigo irá guiá-lo através da configuração do HTTPS para desenvolvimento local, apresentando ferramentas como Mkcert para simplificar o processo.
localhost e recursos exclusivos de HTTPSlocalhost é um domínio especial que pode lidar com muitas funcionalidades exclusivas de HTTPS, como service workers, cookies seguros, HTTP/2 e outras APIs de navegador que podem funcionar bem em http://localhost:xxxx, portanto, você pode não precisar sempre de HTTPS local, tente localhost primeiro!
Introduzido anteriormente neste artigo, os túneis do Cloudflare podem facilmente expor seu serviço local à Internet com HTTPS pronto.
As 2 opções não resolvem seu problema? Então vamos configurar o HTTPS local. Nos passos seguintes, assumimos que o nome de domínio local é example.com.
Antes de começarmos, certifique-se de que o domínio alvo resolve para sua máquina local, isso pode ser feito atualizando o arquivo hosts. Abra /etc/hosts no Linux/macOS ou C:\Windows\System32\drivers\etc\hosts no Windows, e adicione as seguintes linhas:
A primeira coisa sobre HTTPS é uma certificação. Em produção, isso pode ser feito por ferramentas como "Let's encrypt" ou comprando certificados de seus provedores de serviço. Mas no desenvolvimento local, podemos gerar certificados diretamente.
Mkcert é uma ferramenta simples de configuração zero para fazer certificados de desenvolvimento local confiáveis com os nomes que você quiser.
Primeiro, siga o guia oficial para instalar o mkcert, assumindo que você esteja usando macOS:
Para Windows e Linux, consulte este link.
Agora, com o mkcert pronto para uso, execute este comando para gerar uma CA local e armazenar o certificado raiz no seu sistema de confiança. Para saber mais sobre "CA" e certificados, confira a documentação da Cloudflare.
Em seguida, gere um certificado SSL local
Isso cria os arquivos example.com.pem e example.com-key.pem em seu diretório.
Com os arquivos de certificado prontos, você pode agora habilitar HTTPS em seu aplicativo. Diferentemente do ambiente de produção onde um proxy reverso como Nginx lida com o HTTPS, no desenvolvimento local, podemos configurar diretamente nas aplicações web. Vamos pegar o Express como exemplo.
Crie um servidor Express simples com o seguinte código:
Execute o aplicativo e visite https://example.com para ver seu aplicativo Express seguro em ação.
Logto OSS requer HTTPS por padrão, exceto para localhost, se você quiser executar Logto localmente com outro domínio, precisará configurar o HTTPS local.
mkcert para gerar dois arquivos .pem e colocá-los em um diretório.HTTPS_CERT_PATH e HTTPS_KEY_PATH para habilitar HTTPS via Node, confira este link para aprender mais.Configurar HTTPS para desenvolvimento local não é tão complicado quanto pode parecer. Com a ajuda de ferramentas como Mkcert, gerar certificados locais confiáveis torna-se um processo rápido e fácil. Enquanto localhostNegrito frequentemente lida com muitos recursos exclusivos de HTTPS, há momentos em que você precisa de suporte HTTPS completo, e este guia ajuda você a chegar lá. Seja testando APIs, trabalhando com Logto OSS, ou simplesmente replicando condições de produção, seguir estas etapas garantirá que você esteja pronto para um desenvolvimento seguro e contínuo.