Português (Portugal)
  • cloudflare
  • cloudflare-tunnel
  • https
  • local-debugging
  • custom-hostname

Depuração local sem dor: alcançar HTTPS e nome de host personalizado com Cloudflare Tunnel

Este artigo introduz como usar o Cloudflare Tunnel para conseguir HTTPS e nome de host personalizado para uma depuração local sem dor.

Yijun
Yijun
Developer

No nosso desenvolvimento diário, costumamos usar http://localhost para acessar e depurar nossas aplicações, o que é suficiente na maioria dos casos. No entanto, em situações como as seguintes, podemos precisar usar HTTPS e um nome de host personalizado para depurar nossas aplicações:

  • Quando a tua aplicação usa uma API que requer HTTPS (como a Web Crypto API ou outras bibliotecas de terceiros que requerem HTTPS)
  • Quando um serviço de terceiros que queres integrar exige que forneças uma interface de API acessível globalmente baseada em HTTPS, e precisas depurar essa interface

Existem muitas soluções para esses problemas no mercado, mas a maioria delas é complexa e propensa a erros. Aqui, gostaria de apresentar como usar o Cloudflare Tunnel para rapidamente usar HTTPS e nome de host personalizado para desenvolvimento local.

O que é Cloudflare Tunnel

Cloudflare Tunnel é um serviço fornecido pela Cloudflare que te permite conectar de forma segura a tua infraestrutura à rede Cloudflare. Essencialmente, cria uma conexão segura e eficiente entre os teus servidores e a rede global da Cloudflare, garantindo que o teu tráfego na web seja protegido e otimizado.

Usando o Cloudflare Tunnel, podes facilmente conectar a tua máquina de desenvolvimento local à rede global da Cloudflared. Depois disso, podes hospedar o teu domínio na Cloudflare e encaminhar pedidos para o domínio para a tua máquina local através do Cloudflare Tunnel.

Pré-requisitos

Antes de começares, certifica-te de que:

  • Já possuis um nome de domínio e desativaste DNSSEC no teu registrador (onde compraste o teu nome de domínio).
  • Já criaste uma conta Cloudflare.

Nota: Neste tutorial, para fins de demonstração, assumimos que estamos a usar demo.com como nosso domínio.

Adicionar um site à Cloudflare

Primeiramente, precisas de entrar no painel de controlo da Cloudflare usando a tua conta Cloudflare e selecionar a opção "Website" no menu à esquerda. Então, clica no botão "Get started" na página (se já houver um registo, clica em "Add website"). Segue as instruções para completar a adição do site usando o domínio que possuis. Após adicionar o site com sucesso, verás o seguinte conteúdo:

Website (inativo)

Como mostrado na figura, o site adicionado ainda não foi ativado. Precisas de seguir o guia na página para fazer login no teu registrador de domínio e atualizar os nameservers do domínio para ativar o teu site.

Tomando o domínio no Godaddy como exemplo:

Entra na página de configurações do domínio, acede à opção "Nameservers" na guia DNS, e altera os Nameservers para os valores exibidos no guia:

Configurações de nameservers

Após alterar, espera por um curto período de tempo, e o site correspondente na Cloudflare será ativado:

Website ativo

Depois de configurares esses conteúdos, o teu domínio será hospedado na Cloudflare, e a Cloudflare ativará automaticamente o HTTPS para o domínio.

Criar túnel

Volta para a homepage do Painel de Controlo da Cloudflare, clica "Zero Trust" no menu à esquerda e seleciona "Tunnels" no diretório 'Access'. Depois, clica em "Add a tunnel" na página, e insere qualquer nome de túnel (ex.: my-dev-tunnel). De acordo com as instruções na página, conecta a tua máquina de desenvolvimento local ao túnel Cloudflare.

Instalar túnel

Tomando o MacOS como exemplo, abre um terminal e executa o comando exibido na página:

Se a tua máquina já tiver "cloudflared" instalado previamente, não precisas executar brew install cloudflare/cloudflare/cloudflared.

Túnel instalado

Depois disso, executa cloudflared tunnel list no teu terminal, e verás que a tua máquina já está conectada ao túnel:

Listar túneis

Roteamento de tráfego para o túnel criado

Após criares o Túnel, vamos configurar as regras de roteamento para o Túnel.

Assumir que nossa aplicação local está a funcionar na porta http://localhost:3000, e queremos encaminhar todos os pedidos para https://dev.demo.com para a porta onde a aplicação local está a funcionar.

Primeiro, voltamos à nossa página de túnel, encontramos o túnel que acabamos de criar, clicamos no botão de três pontos à direita, e selecionamos "Config".

Entrada de configuração

Preencha a configuração relevante de acordo com nossos requisitos:

Adicionar página de nome de host público

Esta configuração roteia o endereço dev.demo.com para http://localhost:3000 em nossa máquina. Depois clique "Save hostname".

Após uma breve espera, acesse https://dev.demo.com, e verás a app a funcionar na nossa máquina local:

App local

Resumo

Através deste tutorial, deves agora conseguir implementar facilmente HTTPS e nome de host personalizado no teu ambiente de desenvolvimento local sem ter que te preocupar com configurações complexas e erros. Espero que possas beneficiar deste tutorial!