Português (Portugal)
  • https
  • tls
  • nginx
  • express
  • proxy

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.

Sijie
Sijie
Developer

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.

  1. Configura Logto: Segue o link para configurar Logto na tua máquina local: https://docs.logto.io/docs/get-started/.
  2. Prepara certificados: Usa mkcert para gerar dois ficheiros .pem e coloca-os num diretório.
  3. Define variáveis de ambiente: Fornece ambos HTTPS_CERT_PATH e HTTPS_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.