ngrok – czyli jak wystawić localhost na świat.

Udało nam się postawić na maszynie wirtualnej w pełni działający serwis www, który dostępny jest na wybranym porcie i na adresie lokalnym. Jednak teraz chcielibyśmy aby dostęp do niego był również z sieci zewnętrznej, z internetu. Owszem, można w tym celu ustawić przekierowanie portów na routerze, jednak rodzi to kolejne problemy, możemy nie mieć też dostępu do routera, a i wymaga to też więcej pracy… Czy da się łatwiej?


Tu z pomocą przychodzi nam rozwiązanie o nazwie ngrok. Jest to rozwiązanie, które w łatwy daje nam zewnętrzny adres dla naszego serwisu www. Na przykład,  mój nginx który był dostępny pod adresem lokalnym http://127.0.0.1:8080 to dzięki ngrokowi teraz mam go wystawionego dla internetu pod adresem https://84c5df439d74.ngrok.io Cały ruch z tego adresu będzie przekierowywany bezpośrednio do naszej maszyny wirtualnej na danym porcie. 

Aby skorzystać z ngroka, potrzebujemy konta w tym serwisie i małego agenta na naszym systemie hosta (gospodarza). Co ważne, rozwiązanie dostępne jest za darmo i  dostępne jest dla wszystkich popularnych systemów operacyjnych. Zobaczmy jak to wygląda w przypadku systemu Windows,w trzech prostych krokach 

  1. Rejestrujemy i logujemy sie na stronie https://ngrok.com skąd ściągamy małego agenta. Instalujemy go na naszym systemie
  2. W celu autoryzacji agenta z naszym kontem ngrok wykonujemy polecenie
    ngrok config add-authtoken <tu_Nasz_Token_Ze_Strony>
  3. Zakładam że mamy już uruchominą maszynę wirtualna z ngżineksem lub apaczem pod naszym lokalnym  http://127.0.0.1:8080  to teraz wykonujemy polecenie
    ngrok http 8080 i jako odpowiedź dostajemy komplet informacji z publicznym adres ngroka pod którym dostępny jest teraz nasz nginx. 

I to wszystko. W ten właśnie sposób, możemy podzielić się ze światem nasza strona internetowa. Warto przejrzeć opcje w dashbordzie ponieważ w wersji płatnej oferuje jeszcze więcej opcji i możliwości.