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

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.

Sijie
Sijie
Developer

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.

O papel de localhost e recursos exclusivos 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, você pode não precisar sempre de HTTPS local, tente localhost primeiro!

Experimente túneis do Cloudflare

Introduzido anteriormente neste artigo, os túneis do Cloudflare podem facilmente expor seu serviço local à Internet com HTTPS pronto.

Configurando HTTPS local

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.

Etapa 1: atualizar o arquivo hosts

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:

Etapa 2: gerar certificados

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.

Etapa 3: configurar HTTPS em seu aplicativo

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.

Habilitar HTTPS para Logto OSS

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.

  1. Configurar Logto: Siga o link para configurar Logto em sua máquina local: https://docs.logto.io/docs/get-started/.
  2. Preparar certificados: Use mkcert para gerar dois arquivos .pem e colocá-los em um diretório.
  3. Configurar variáveis de ambiente: Forneça ambos HTTPS_CERT_PATH e HTTPS_KEY_PATH para habilitar HTTPS via Node, confira este link para aprender mais.

Resumo

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.