Lidando com desenvolvimento local HTTPS
Explore como implementar HTTPS local no teu 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. Estejas a integrar com APIs de terceiros seguras, testar funcionalidades exclusivas de HTTPS como service workers e HTTP/2, ou a replicar condições de produção para garantir uma implantação sem falhas, o HTTPS torna-se crucial. Além disso, certas APIs do navegador — como geolocalização, notificações push e gestão de credenciais — requerem um contexto seguro para funcionar efetivamente.
Por exemplo, o Logto OSS requer HTTPS por padrão, exceto localhost
; em tais casos, aprender a configurar HTTPS para desenvolvimento local pode poupar o teu tempo. Este artigo te guiará através da configuração de HTTPS para desenvolvimento local, introduzindo ferramentas como Mkcert para simplificar o processo.
O papel de localhost
e funcionalidades exclusivas de HTTPS
localhost
é 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, talvez não precisas sempre de HTTPS local, tenta localhost
primeiro!
Experimenta túneis Cloudflare
Anteriores introduzidos neste artigo, os túneis Cloudflare podem expor facilmente o teu serviço local na Internet com HTTPS pronto.
Configurando HTTPS local
As 2 opções não podem resolver o teu problema? Então vamos configurar HTTPS local. Nos passos seguintes, assumimos que o nome do domínio local é example.com
.
Passo 1: atualiza o ficheiro de hosts
Antes de começar, certifica-te que o domínio alvo resolve para a tua máquina local, isto pode ser feito atualizando o ficheiro de hosts. Abre /etc/hosts
no Linux/macOS ou C:\Windows\System32\drivers\etc\hosts
no Windows, e adiciona as seguintes linhas:
Passo 2: gera certificados
A primeira coisa sobre HTTPS é uma certificação. Em produção, isto pode ser feito por ferramentas como "Let's Encrypt" ou comprando certs dos teus fornecedores de serviço. Mas no desenvolvimento local, podemos gerar certs diretamente.
Mkcert é uma ferramenta simples e sem configuração para criar certificados de desenvolvimento confiáveis localmente com quaisquer nomes que queiras.
Primeiro, segue o guia oficial para instalar mkcert, assumindo que estás a usar macOS:
Para Windows e Linux, verifica este link.
Agora com mkcert pronto para uso, executa este comando para gerar uma CA local e armazenar o certificado raiz no teu armazém de confiança do sistema. Para aprender mais sobre "CA" e certificados, verifica a documentação da Cloudflare.
Depois, gera um certificado SSL local
Isto cria os ficheiros example.com.pem
e example.com-key.pem
no teu diretório.
Passo 3: configura HTTPS na tua app
Com os ficheiros de certificado prontos, podes agora ativar HTTPS na tua app. Diferente 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 tomar o Express como exemplo.
Cria um servidor Express simples com o seguinte código:
Executa a aplicação, e visita https://example.com
para ver a tua app Express segura em ação.
Ativar HTTPS para Logto OSS
Logto OSS requer HTTPS por padrão, exceto para localhost
, se queres executar Logto localmente com outro domínio, precisarás configurar HTTPS local.
- Configura Logto: Segue o link para configurar Logto na tua máquina local: https://docs.logto.io/docs/get-started/.
- Prepara certificados: Usa
mkcert
para gerar dois ficheiros.pem
e coloca-os num diretório. - Define variáveis de ambiente: Fornece ambos
HTTPS_CERT_PATH
eHTTPS_KEY_PATH
para ativar HTTPS via Node, verifica este link para aprender mais.
Resumo
Configurar HTTPS para desenvolvimento local não é tão complicado quanto possa parecer. Com a ajuda de ferramentas como Mkcert, gerar certificados locais confiáveis torna-se um processo rápido e fácil. Enquanto localhost
muitas vezes lida com muitas funcionalidades exclusivas de HTTPS, há momentos em que precisas de suporte total de HTTPS, e este guia ajuda-te a chegar lá. Quer estejas a testar APIs, trabalhar com Logto OSS, ou simplesmente replicar condições de produção, seguir estes passos garantirá que estás pronto para um desenvolvimento seguro e sem falhas.