Integrace s aplikacemi za směrovači pomocí reverzního proxy serveru

Řešení vzdáleného připojení pro pokladnu v cloudu pomocí reverzního proxy serveru Pracoval jsem na cloudové webové aplikaci POS, která potřebovala odesílat požadavky HTTP POST a G...

Světlý režim slouží jen pro ukázku funkcionality. Proto používejte tmavou verzi webu.

04. 02. 2025

Integrace s aplikacemi za směrovači pomocí reverzního proxy serveru

Řešení vzdáleného připojení pro pokladnu v cloudu pomocí reverzního proxy serveru

Pracoval jsem na cloudové webové aplikaci POS, která potřebovala odesílat požadavky HTTP POST a GET na koncové body API poskytované desktopovými aplikacemi umístěnými za směrovačem. Skutečným problémem nebylo jen odesílání požadavků - šlo především o to, jak se k těmto počítačům spolehlivě dostat. Zde je návod, jak jsem to vyřešil.

Zkoumání možných řešení

1. Přesměrování portů

Prvním řešením, které mě napadlo, bylo přesměrování portů. Aby to však fungovalo, musely být splněny dvě podmínky:

  • Směrovač musel podporovat přesměrování portů.
  • Stroje musely mít statické IP adresy.

Bohužel ani jedna z těchto podmínek nebyla zaručena. Mnoho klientů mělo dynamické IP adresy a jejich směrovače se lišily, což znamenalo, že některé podporovaly přesměrování portů, zatímco jiné ne. Abych vyřešil problém s dynamickými IP adresami, zvažoval jsem použití dynamické služby DNS (DDNS), například No-IP. To nám umožnilo namapovat dynamické IP na statický název hostitele. Avšak kvůli nejednotnosti podpory směrovačů pro přesměrování portů i DDNS byl tento přístup u všech klientů nespolehlivý.

2. Ngrok

Další možností, kterou jsem zvažoval, bylo použití služby Ngrok, která poskytuje bezpečné tunelování pro místní servery. Nemohli jsme ho však použít, protože:

  • Potřebovali jsme větší kontrolu nad řešením.
  • Potřebovali jsme něco škálovatelného, což znamená, že jsem nechtěl vytvářet účet pro každého klienta a spravovat ho - to by bylo příliš únavné.
  • V naší lokalitě to nebylo povoleno, takže to nebylo možné.

3. Reverzní proxy jako tunel

Protože přesměrování portů a Ngrok nebyly použitelné, prozkoumal jsem další možnost: použití reverzního proxy serveru k vytvoření tunelu mezi naším serverem a klientskými počítači. Tehdy jsem narazil na FRP (Fast Reverse Proxy), výkonný nástroj, který umožňuje vystavit místní servery za NAT nebo firewallem internetu.

Implementace protokolu FRP jako reverzního proxy serveru

Aby to fungovalo, potřeboval jsem VPS (virtuální privátní server), který by fungoval jako náš centrální reverzní proxy server. Zde je návod, jak jsme ho nastavili:

  1. Nastavení serveru reverzního proxy serveru
    Na VPS jsme nainstalovali protokol FRP, který sloužil jako most mezi cloudovým POS a klientskými počítači.

  2. Konfigurace klientských počítačů
    Každý klient se potřeboval připojit k reverznímu proxy serveru, proto jsme jim poskytli:

    • Konfigurační soubor, který zahrnoval přiřazení jedinečné subdomény jejich počítači.
    • Dávkové skripty, které by se automaticky spouštěly při přihlášení a navázaly připojení.
  3. Automatizace připojení
    Jakmile byl klientský počítač zapnutý a přihlášený, skript zajistil jeho automatické připojení k našemu reverznímu proxy serveru. To znamenalo, že naše cloudové pokladny nyní mohly posílat požadavky na subdoménu a reverzní proxy je směrovala na správný stroj.

Závěrečné myšlenky

Po zvážení čtyř možných řešení:

  1. Přesměrování portů (Nespolehlivé z důvodu nekonzistence podpory směrovače)
  2. Přesměrování portů + DDNS (Lepší, ale stále nekonzistentní v různých směrovačích)
  3. Ngrok (Chyběla kontrola, problémy se škálovatelností a v naší lokalitě to nebylo povoleno)
  4. Reverzní proxy server (Spolehlivé a fungující ve všech nastaveních)

Jako nejlepší se ukázalo řešení s reverzním proxy serverem. Odstranilo závislost na konfiguraci směrovače a statických IP adresách a poskytlo bezproblémový způsob bezpečného a spolehlivého připojení našich cloudových pokladen ke klientským počítačům.

Tento přístup nejenže vyřešil náš problém s připojením, ale také usnadnil nástup nových klientů, kteří si museli stáhnout pouze několik souborů a přihlásit se do svých počítačů. Nyní je klientův počítač při každém zapnutí automaticky dosažitelný - není nutná žádná ruční konfigurace.

Navíc se toto řešení pro nás stalo novým zdrojem příjmů, protože ho společnost začala nabízet jako doplňkovou službu. Klienti, kteří potřebovali vzdálený přístup ke svým místním pokladním systémům, si mohli tuto funkci předplatit, což zvýšilo hodnotu naší nabídky a zároveň generovalo další příjmy.

Původní článek publikoval Nabil Hassen.

Mohlo by vám pomoct

Praktické věci kolem webu

Než se pustíte do webu, hodí se mít jasno v podkladech, WordPressu, cookies a měření.

Google reference

Co říkají klienti

Ukázky skutečných recenzí, které klienti zanechali na mém Google profilu.

Přejít na recenze
★ ★ ★ ★ ★

„Člověk, který své práci a rozumí a ví co dělá. Velmi rychlá komunikace a profesionální přístup. Doporučuji.“

Jaroslav Kupča
Google
★ ★ ★ ★ ★

„Skvělá spolupráce, při dalších projektech určitě nebudu shánět někoho jiného.“

Roman Koňařík
Google
★ ★ ★ ★ ★

„S panem Vančurou jsem spolupracovala na tvorbě mých webových stránek a jsem maximálně spokojená. Oceňuji profesionální přístup, rychlou komunikaci a schopnost přesně pochopit moje představy. Web je moderní, přehledný, funkční a skvěle vypadá i na mobilu. Celý proces proběhl hladce, s jasným vysvětlením jednotlivých kroků a výborným výsledkem. Určitě doporučuji každému, kdo hledá spolehlivý a kvalitní přístup.“

Barbora Zemánková
Google
★ ★ ★ ★ ★

„Spolupráce při tvorbě konfigurátoru proběhla naprosto bez problémů. Oceňuji profesionální přístup, rychlou komunikaci a schopnost pochopit specifický projekt od A do Z. Konfigurátor je přehledný, funkční a přesně odpovídá mým požadavkům. Rozhodně doporučuji.“

mareksevcik_FPV
Google
★ ★ ★ ★ ★

„Velmi dobrá a rychlá spolupráce. Doporučuji!“

Leoš Kaucký
Google
★ ★ ★ ★ ★

„Přesně takto si představujeme profesionální práci. Dekujeme“

STAVILLI
Google
★ ★ ★ ★ ★

„Ať už se jedná o optimalizaci webu, nebo tvorbu na míru oceňuji kromě profesionální práce a znalostí problematiky také férový přístup a komunikaci.“

Aleš Illický
Google
★ ★ ★ ★ ★

„Děkuji za profesionální spolupráci, vše dle domluvy, naprostá spokojenost a mohu jen vřele doporučit.... Při dalších projektech určitě opět využiji Vašich služeb“

Peter Spilak
Google
★ ★ ★ ★ ★

„Profesionalita a velká ochota, nemohu jinak než doporučit“

Magdalena Vašková
Google
★ ★ ★ ★ ★

„Skvělá zkušenost při tvorbě webu, profesionální přístup, rychlost, ochota pomoci“

Jana Kono
Google
★ ★ ★ ★ ★

„Rychlá spolupráce a komunikace – mohu jen doporučit.“

Gawix
Google
★ ★ ★ ★ ★

„Moc mi pomohl, když jsem potřebovala pomoc s webem. A bylo to gratis :)). Jsem mu neskonale vděčná.“

Radka Arbesová
Google
★ ★ ★ ★ ★

„Děkuji Jiřímu za rychlou a kvalitní spolupráci na tvorbě webu. Srozumitelná a ochotná komunikace mě vždycky potěší a přináší důvěru.“

Jiří Mařík
Google
★ ★ ★ ★ ★

„Jsem maximálně spokojená. Rychlost, ochota a cenově dostupné. Děkuji“

Veronika Černá
Google
★ ★ ★ ★ ★

„Naprostá spokojenost. Rychlá komunikace, skvělá cena a odborná pomoc. Moc děkuji :)“

Patricie Kučerová
Google
★ ★ ★ ★ ★

„Velká spokojenost, rychlost a p. Vančura moc dobře ví co dělá. :)“

Ondřej Daniško
Google
★ ★ ★ ★ ★

„dobrá práce, rychlá odezva“

Zuzana Jírová
Google
★ ★ ★ ★ ★

„S programátory mám zkušeností hodně, ale tady musím opravdu pochválit. Pro mě a mé přátele vytvořil skvělý nástroj na evidenci sbírek a opravdu se to povedlo. Bylo to hotové rychle, kvalitně a za skvělou cenu. Komunikace funguje velmi rychle, což je super a ne úplně standard. Díky za super práci, za mě 100% spokojenost!“

Zdeněk
Google
★ ★ ★ ★ ★

„Vše bylo rychlé a hlavně to funguje. Dobrá práce.“

Lukáš Bartášek
Google
★ ★ ★ ★ ★

„Normálně recenze nepíši, ale zde rád doporučím kvalitní práci. Jiří pro mě vytvořil web pro dětské tábory. Kvalitní práce, rychlá komunikace a vlastní nápady, které Jiří sám přidá, jsou na velice vysoké úrovni. Nemohu hodnotit jinak než 5/5.“

Tomáš Loněk
Google
★ ★ ★ ★ ★

„Pan Jiri nam delal jiz 3 webove stranky a vzdy velka spokojenost, je mega rychly a vse hned kladne vyridi, mohu pouze doporucit. Poradi si bez problemu i s rezervacnimi kalendaremi, udrzbou socialnich siti, atd.“

Barbara Mašková
Google