Se você trabalha com desenvolvimento, talvez já tenha passado por esta situação:
Você tem um PC pessoal super rápido, mas precisa usar a máquina corporativa (normalmente mais lenta) por causa da VPN para acessar o banco de dados da empresa.
Trabalhar no Front-end com a máquina travando acaba com qualquer produtividade.
A solução?
Rodar o Backend na máquina da empresa e o Front-end no seu PC pessoal, usando o Ngrok para criar um túnel seguro entre os dois.
Mas, se o seu Backend for em .NET, você vai perceber que rodar um simples comando do Ngrok não funciona de primeira.
Neste artigo, vou te mostrar o pulo do gato para resolver isso.
1️⃣ Autenticando o Ngrok
Antes de tudo, baixe o Ngrok e adicione seu Authtoken.
Você encontra esse comando no painel do Ngrok, logo na tela inicial.
Depois, basta rodar o comando no terminal:
ngrok config add-authtoken SEU_TOKEN_AQUI
Isso vincula sua máquina à sua conta.
2️⃣ O Problema com .NET e Ngrok
Por padrão, aplicações .NET:
- Rodam em
https://localhost:5001 - Usam HTTPS com certificado de desenvolvimento
- Fazem validação rigorosa do Host Header
- Podem bloquear requisições externas por política de CORS
Se você simplesmente rodar:
ngrok http 5001
O Ngrok vai tentar criar um túnel HTTP simples.
Resultado? ❌
Você pode receber:
- Erro de CORS
- 400 Bad Request
- Erro de Host inválido
- Falha de redirecionamento HTTPS
Isso acontece porque:
- O .NET espera HTTPS
- O Host recebido não será
localhost - A requisição chega com domínio externo (
.ngrok-free.dev)
3️⃣ A Solução (O Comando Mágico)
O segredo é dizer ao Ngrok duas coisas:
- Que o destino já é HTTPS
- Que ele deve reescrever o Host Header
Execute:
ngrok http https://localhost:5001 --host-header="localhost:5001"
🔎 O que esse comando faz?
https://localhost:5001
Informa ao Ngrok que o backend já está rodando em HTTPS.
--host-header="localhost:5001"
Reescreve o cabeçalho da requisição.
Quando a requisição chega na sua API:
- O .NET lê o Host como
localhost:5001 - A validação passa
- O roteamento funciona corretamente
💡 Isso evita erros de Host inválido e problemas comuns de CORS relacionados ao domínio inesperado.
4️⃣ Configurando no Front-end
Após rodar o comando, o Ngrok gera uma URL pública:
https://seu-link.ngrok-free.dev
Agora, no seu projeto Front-end, atualize a variável de ambiente:
API_URL=https://seu-link.ngrok-free.dev
Reinicie o projeto e pronto 🚀
Agora você pode:
- Desenvolver a interface no seu PC rápido
- Consumir a API na máquina corporativa
- Acessar o banco via VPN
- Trabalhar com performance real
🎁 Bônus: O Ngrok é muito mais que um túnel
Além de resolver o problema de conectividade, o Ngrok oferece recursos poderosos.
🔐 Segurança de Endpoints
Você pode proteger seu túnel com:
- OAuth
- Restrição de IP
- Validação JWT
- Basic Authentication
Tudo configurado direto no painel.
📊 Monitoramento de Tráfego
O Ngrok possui um inspetor de tráfego em tempo real.
Você pode visualizar:
- Headers
- Payload
- Status code
- Tempo de resposta
Ideal para debugar integrações.
📚 Conclusão
Com o comando correto, é possível expor uma API .NET rodando em HTTPS sem erros de Host ou CORS, mantendo segurança e produtividade.
Essa abordagem permite trabalhar com performance real no Front-end sem abrir mão do acesso ao banco via VPN.
✍️ Stefhany Santos
Software Engineer

Top comments (0)