DEV Community

Cover image for Do localhost a Internet
Suspir0n
Suspir0n

Posted on

5 1

Do localhost a Internet

Neste artigo iremos falar um pouco sobre o famoso ngrok, o túnel de conexão. Para poucos que conhece, de bônus iremos demostrar duas implementações, uma usado o nosso querido Docker e outro implementando direto na sua maquina.

Ngrok

O que é Ngrok?

Como eu transcrevi acima, o ngrok é um túnel de conexão, de acordo com a Digital Innovation One "O Ngrok é um programa de linha de comando que permite criar um túnel de conexão segura a partir do seu localhost e publicá-lo na internet, o mesmo é multiplataforma, podendo ser usado no Windows, Linux e Mac OS X."

Entretanto, ele quis dizer que basicamente ele gera um URL publica acessível, utilizando como base o seu localhost, logo, com ele você não irá precisar subir sua aplicação em servidor/hospedagem para poder apresentar no seu trabalho, mostrar seus colegas, seu professor, etc. Ele irá facilitar sua vida, deixando de modo simples, lembrando que o ngrok é recomendado apenas para Desenvolvimento e não para colocar sua aplicação em produção.

Ngrok na pratica

Implementação local

Estaremos usando o windows neste exemplo, agora vamos baixar o ngrok, siga os passos abaixo.

  • Para nós conseguirmos baixar o Ngrok é necessário acessar o site https://ngrok.com/download

  • Após baixar o Ngrok basta ir à pasta Downloads e executa o aplicativo do Ngrok

  • Por fim vamos iniciar o serviço do Ngrok digitando este comando abaixo.

    ngrok http 8000

Implementação usando o Docker

Neste exemplo, vamos criar apenas o serviço do ngrok, pois, na nossa compreensão você já tem o serviço da sua aplicação criado, no nosso exemplo, a nomenclatura do serviço da aplicação se chamará "app".

Ngrok usando docker

Nele passamos o nosso, app, a porta que ele vai servir e algumas variáveis de ambiente. Como:

  • DOMAIN = O nome do container da sua aplicação
  • PORT = A porta que o container da sua aplicação está sendo executado

Existem outras variáveis, irei citar algumas para você:

  • PROTOCOL = Protocolo de tunelamento Ngrok, recebe os valores (http, tls e tcp)

  • REGION = Região onde o cliente ngrok se conectará para hospedar seus túneis, recebe os valores (us, eu, ap, au, sa, jp e em)

  • HOST_HEADER = Opcional, reescreva as solicitações de HTTP de entrada com um cabeçalho de Host modificado. por exemplo
    HOST_HEADER=localdev.test

  • BIND_TLS = Opcional, encaminhe apenas o tráfego HTTP ou HTTPS, mas não ambos. Por padrão, quando o ngrok executa um túnel HTTP, ele abre pontos de extremidade para o tráfego HTTP e HTTPS.

  • DEBUG = Opcional, grave logs em stdout.

  • PARAMS = Passe todos os parâmetros ngrok por uma string. Quando especificado, qualquer outra variável env é ignorada.

Este foi o diário de bordo #07 vamos nos despedindo por aqui. Voltaremos com mais um diário de bordo.

Este artigo foi útil para você?
Deixe um comentário abaixo.

Referências

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs