Přejít na hlavní obsah

Jak funguje služba ngrok-principy fungování a možnosti síťového tunelování

  • Erik Sedláková
  • Praxe

Ngrok je úžasný nástroj, který vám umožňuje vytvářet bezpečné tunely v síti pro přístup k vašim místním hostitelům. Pokud jste obeznámeni s vývojem webových aplikací, je pravděpodobné, že jste narazili na problém s testováním a laděním aplikací na vašem počítači nebo místním serveru. Ngrok poskytuje jednoduché a pohodlné řešení tohoto problému.

Základní myšlenkou ngrok je vytvořit bezpečný tunel mezi místním hostitelem a externím internetem. To umožní ostatním lidem a externím službám přístup k vaší aplikaci, i když funguje lokálně.

Ngrok funguje následovně: nainstalujete klienta ngrok do počítače a spustíte jej zadáním portu, na kterém je vaše aplikace spuštěna. Ngrok poté vytvoří dočasnou doménu a přesměruje všechny požadavky na danou doménu na vašeho místního hostitele. Každý, kdo zná adresu URL dočasné domény ngrok, má tedy přístup k vaší aplikaci, aniž by ji musel nasazovat na veřejný server.

Koncepce a účel ngrok

Ngrok poskytuje veřejnou adresu URL, která odesílá požadavky na místní server. To je užitečné pro vývojáře, kteří chtějí testovat své webové aplikace na místním serveru, aniž by je sdíleli.

Ngrok usnadňuje přístup k místnímu serveru pro klienty, kolegy nebo veřejnost pro prohlížení a testování aplikací, aniž byste je museli nasazovat na cloudové hostingové platformy nebo konfigurovat skutečný hostingový server.

Instalace a konfigurace ngrok

Chcete-li nainstalovat ngrok, můžete navštívit oficiální webové stránky vývojáře a stáhnout spustitelný soubor pro váš operační systém. Ngrok podporuje Windows, macOS a Linux.

Po stažení a rozbalení archivu se spustitelnými soubory ngrok si budete muset vytvořit účet na oficiálních stránkách ngrok a získat osobní autorizační Token.

Při prvním spuštění ngrok se budete muset přihlásit pomocí příkazu:

  • ./ngrok authtoken your_auth_token

Nahraďte "your_auth_token" svým osobním autorizačním tokenem, který jste obdrželi po registraci.

Po úspěšné autorizaci můžete ngrok spustit pomocí následujícího příkazu:

Ngrok vytvoří tunel a proximuje provoz HTTP na vašem místním serveru běžícím na portu 80. Můžete také zadat jakýkoli jiný port, pokud váš server běží na jiném portu.

Po spuštění uvidíte informace o vytvořeném tunelu, včetně adresy URL, která nyní umožňuje přístup k vašemu místnímu serveru.

Ngrok má také další užitečné funkce a nastavení, jako je zabezpečené (HTTPS) připojení, autorizace heslem atd. dokumentaci si můžete prohlédnout na oficiálních stránkách a dozvědět se více o pokročilých funkcích ngrok.

Základní principy práce ngrok

Hlavním principem práce ngrok je vytvoření tunelu mezi místním serverem a cloudovou službou ngrok. Za tímto účelem ngrok vytvoří na svých serverech vstupní bod, který odposlouchává příchozí požadavky a přesměruje je na určený místní server.

Hlavní kroky práce ngrok:

  1. Spuštění místního serveru v zařízení.
  2. Spustit ngrok a zadat port místního serveru, který chcete otevřít.
  3. Ngrok vytvoří dočasnou veřejnou adresu URL, kterou lze použít k přístupu k místnímu serveru zvenčí.
  4. Jakýkoli požadavek na tuto veřejnou adresu URL bude přesměrován na místní server prostřednictvím tunelu ngrok.

Hlavním účelem ngrok je testování a ladění webových aplikací na místním serveru. S ngrok může vývojář poskytnout přístup ke své aplikaci jiným lidem nebo k interakci s externími službami, aniž by musel publikovat aplikaci na skutečném serveru.

Je důležité poznamenat, že ngrok vytváří dočasnou veřejnou adresu URL, která je aktivní pouze před uzavřením tunelu ngrok nebo před restartováním zařízení. Pokud je vyžadováno trvalé připojení k místnímu serveru, je nutné zakoupit placené předplatné ngrok.

Hlavní funkce ngrok

Mezi hlavní funkce ngrok patří:

1. Veřejný odkaz na místní server. Ngrok vám umožňuje vytvořit veřejnou adresu URL pro Váš místní server, kterou můžete použít k přístupu odkudkoli na internetu. To je zvláště užitečné, když chcete svou aplikaci nebo web sdílet s ostatními lidmi pro testování nebo demonstraci.

2. Proxy provozu. Ngrok může proxovat veškerý provoz procházející vaším místním serverem na veřejný odkaz. To vám umožní vzdálený přístup k vašemu serveru a také zaznamenávat a analyzovat veškerý příchozí a odchozí provoz.

3. HTTPS pro místní server. Ngrok podporuje HTTPS, což znamená, že všechny požadavky směřující na Váš místní server prostřednictvím ngrok budou chráněny šifrováním SSL. To je důležité pro zajištění bezpečnosti přenášených dat a zvýšení důvěry uživatelů.

4. Integrace s různými platformami. Ngrok lze snadno integrovat s různými platformami a programovacími jazyky, jako je Node.js, Python, Ruby, Java a další. To vám umožňuje používat ngrok s jakýmkoli projektem bez ohledu na použité nástroje.

5. Funkce ověřování a autorizace. Ngrok poskytuje možnost autentizace a autorizace pro příchozí požadavky, což umožňuje omezit přístup k vašemu místnímu serveru pouze pro určité uživatele nebo adresy IP.

To jsou jen některé z hlavních funkcí ngrok, nabízí mnoho dalších funkcí, které z něj dělají výkonný nástroj pro vývojáře a testery.

Použití ngrok k testování localhost

Chcete-li použít ngrok k testování localhost, musíte jej nejprve nainstalovat do počítače. Po instalaci spusťte program a postupujte podle následujících kroků:

  1. Připojte svůj místní server: Ngrok funguje pouze s místními servery. Pokud vyvíjíte webovou aplikaci spuštěnou na vašem počítači, musíte se ujistit, že váš místní server funguje a poslouchá konkrétní port.
  2. Zadejte příkaz: Na příkazovém řádku nebo terminálu přejděte do adresáře, kde je nainstalován ngrok, a zadejte následující příkaz:
    ngrok http 80
    Zde je 80 číslo portu vašeho místního serveru na localhost.
  3. Očekávejte spuštění ngrok: Ngrok vytvoří dočasný tunel a zobrazí veřejnou adresu URL, kterou můžete použít k přístupu k vašemu místnímu serveru.
  4. Zkontrolujte práci: Otevřete prohlížeč a zadejte veřejnou adresu URL poskytnutou společností ngrok. Měli byste vidět svou místní webovou aplikaci, jako by byla nasazena na veřejný webový server.

Ngrok nabízí mnoho dalších funkcí, jako je podpora připojení HTTPS a přizpůsobení vlastních názvů domén. Nicméně, použití ngrok k testování localhost je rychlý a snadný způsob, jak zobrazit výsledky vašeho vývoje webu v reálném čase.

Ochrana přístupu do ngrok tunelů

Existuje řada způsobů, jak chránit přístup k ngrok tunelům:

  • Použití hesla: ngrok poskytuje možnost Nastavení hesla pro přístup k tunelu. Chcete-li to provést, musíte na příkazovém řádku při spuštění ngrok zadat možnost authtoken a také vytvořit konfigurační soubor s uvedením autorizačního tokenu.
  • Omezení přístupu na IP adresu: ngrok také poskytuje možnost omezit přístup k tunelu pouze pro určité IP adresy. K tomu můžete použít konfigurační soubor a zadat seznam povolených adres.

Další opatření:

Bezpečnostní opatřeníPopis
Uzavření nepotřebných přístavůUjistěte se, že nepoužívané porty jsou zavřené, abyste zabránili neoprávněnému přístupu.
Pravidelné aktualizaceZůstaňte naladěni na aktualizace ngrok a pravidelně aktualizujte jeho verzi, abyste mohli využít nejnovější opravy zranitelností.
Sledování provozuSledujte provoz protékající ngrok, abyste si rychle všimli a reagovali na podezřelou aktivitu.
LogováníPovolte logování v ngrok, abyste mohli sledovat a analyzovat události.

Jak používat ngrok pomocí příkazového řádku

Zde je krok za krokem návod, jak používat ngrok pomocí příkazového řádku:

Krok 1: Nainstalujte ngrok do počítače a přidejte jej do systémové proměnné PATH.

Krok 2: Otevřete příkazový řádek a přejděte do složky, kde je váš server.

Krok 3: Spusťte místní server pomocí příkazu, který odpovídá vašemu systému nebo rámci.

Krok 4: Nyní spusťte ngrok zadáním příkazu "ngrok HTTP port", kde Port je číslo portu, kterým váš server běží.

Příklad: ngrok http 3000

Krok 5: Ngrok vygeneruje jedinečnou adresu URL pro Váš místní server, kterou lze použít pro přístup zvenčí. Zobrazí se v příkazovém řádku a vypadá přibližně takto:

Forwarding http://сгенерированный_url -> http://localhost:порт

Nyní můžete pomocí generované adresy URL přistupovat k vašemu místnímu serveru z jakéhokoli zařízení připojeného k internetu.

Nezapomeňte, že pokaždé, když restartujete NGROK, se vygeneruje nová adresa URL, takže budete muset aktualizovat adresu na příslušných místech.

Poznámka: Ngrok také nabízí další funkce, jako je zabezpečené připojení pomocí HTTPS, logování dotazů a další. Podívejte se na dokumentaci ngrok a zjistěte více o možnostech nástroje.

Populární alternativy ngrok

Na světě existuje několik populárních alternativ ngrok, které také nabízejí možnost lokálního testování a přístupu k místním serverům přes internet. Zde jsou některé z nich:

  1. LocalTunnel LocalTunnel je jednoduchý a snadný nástroj pro vytváření dočasných veřejných adres URL pro Váš místní server. Lze jej nainstalovat pomocí npm a umožňuje snadné sdílení vašich projektů s ostatními lidmi.
  2. Pagekite Pagekite je další alternativou k ngrok, která poskytuje veřejný přístup k vašim místním serverům. Podporuje protokoly HTTP, HTTPS a SSH a lze jej použít k hostování webových stránek a vzdálené správě serverů.
  3. Serveo Serveo je jednoduchý nástroj pro místní expozici, který vám umožňuje vytvářet veřejné adresy URL pro vaše místní servery. Podporuje protokoly HTTP a HTTPS a lze jej použít k testování webových aplikací a vývoji.

Tyto alternativy mohou být užitečné, pokud potřebujete rychle vytvořit veřejné adresy URL pro Váš místní server. Každý z nich má své vlastní vlastnosti a nabízí různé funkce, takže výběr závisí na vašich potřebách a preferencích.