Wszystkie artykuły
comparisonCloudflare Tunnellocalhost tunnelingopen source

PortPreview vs Cloudflare Tunnel: różne narzędzia

To nie do końca versus. Cloudflare Tunnel (cloudflared) i PortPreview mieszkają w różnych pokojach. Cloudflare Tunnel utrzymuje usługę stale online za edge Cloudflare — Zero Trust, nazwane tunele, własne domeny. PortPreview jest na następne dwadzieścia minut twojej sesji dev — testowanie webhooków, QA mobilne, dzielenie się gałęzią z projektantem. Wybór między nimi zależy głównie od tego, jaki problem naprawdę masz.

W czym Cloudflare Tunnel jest dobry

cloudflared zbudowano dla jednej rzeczy: umieszczenia usługi w internecie bez otwierania ani jednego portu przychodzącego i bez wystawiania twojego IP origin. Uruchom go na serwerze, podłącz nazwany tunel do hostname na twojej domenie Cloudflare, a ruch płynie przez edge Cloudflare do twojego origin połączeniem wychodzącym, które zainicjowała twoja maszyna.

Rzeczy, które robi dobrze:

  • Routing produkcyjny. Funkcja nazwanego tunelu jest trwała. Możesz uruchomić cloudflared jako usługę, a hostname działa dalej między restartami.
  • Polityki dostępu Zero Trust. Zabezpiecz tunel za SSO, MFA lub allowlistami IP do wystawiania narzędzi wewnętrznych.
  • Własne domeny. Przynieś własną domenę na Cloudflare. Tunel kończy się na twoja-domena.com, nie na subdomenie dostawcy.
  • Routing WARP. Osiągaj prywatne usługi z dowolnego urządzenia w sieci Cloudflare bez konfiguracji VPN.

Żadna z tych rzeczy nie dotyczy debugowania webhooków.

Gdzie Cloudflare Tunnel staje się niewygodny dla dev

Tryb quick tunnel (cloudflared tunnel --url localhost:3000) jest najbliższy temu, by cloudflared był narzędziem dev, i działa. Dostajesz URL *.trycloudflare.com wskazujący na twój lokalny port. Ale:

  • URL rotuje co sesję, jak większość tuneli dev.
  • Brak wbudowanego inspektora żądań. Widzisz, co loguje twój serwer dev, i nic więcej. Przechwycenie payloadu webhooka do późniejszej powtórki wymaga doczepienia osobnego proxy lub loggera.
  • Konfiguracja nazwanych tuneli (wersja ze stabilnym URL) obejmuje konto Cloudflare, rekordy DNS i plik konfiguracyjny. Warto dla długowiecznej usługi; przesada dla sesji iteracji webhooka.

Gdzie pasuje PortPreview

PortPreview to CLI do tunelowania localhost dla pętli dev. Jedna komenda, publiczny URL HTTPS, przechwytywanie i powtórka żądań wbudowane.

npx portpreview 3000

Optymalizujemy moment między "zmieniłem mój handler webhooka Stripe" a "wiem, czy działa". Ten moment powinien trwać sekundy. Przechwyć payload, napraw handler, powtarzaj aż będzie zielono, wszystko bez ponownego wyzwalania zdarzenia upstream.

Obok siebie

PotrzebaCloudflare TunnelPortPreview
Szybka sesja debugowania webhookaMożliwe (quick tunnel)Zbudowany do tego
Przechwytywanie i powtórka żądańNieTak
Stabilny nazwany hostnameTak (z konfiguracją)Nie domyślny fokus
Własna domenaTakSubdomena tunelu
Polityka dostępu Zero TrustTakNie
Złożoność konfiguracjiNiska dla quick, średnia dla namedJedna komenda
Działanie wiecznie jako usługaTakZaprojektowany dla sesji
Klient open sourceTak (cloudflared)Tak

Kiedy użyć którego

Użyj Cloudflare Tunnel gdy

  • Potrzebujesz usługi online 24/7 bez otwierania portów zapory.
  • Chcesz dostępu zabezpieczonego SSO do wewnętrznego dashboardu lub narzędzia admin.
  • Potrzebujesz stabilnego URL własnej domeny wspartego prawdziwym certyfikatem CA i twoim istniejącym DNS Cloudflare.
  • Jesteś już na Cloudflare, a marginalny koszt konfiguracji jest mały.

Użyj PortPreview gdy

  • Iterujesz handler webhooka i chcesz powtórki jednym kliknięciem.
  • Chcesz podzielić się gałęzią z projektantem na dziesięć minut.
  • Testujesz callbacki OAuth lub przepływy mobilne bez konfiguracji DNS.
  • Wolisz nie zarządzać kontem Cloudflare tylko po to, by przetestować zdarzenie Stripe.

Dobrze współistnieją

Kilka zespołów, z którymi rozmawialiśmy, używa obu. Cloudflare Tunnel do zawsze-aktywnego narzędzia wewnętrznego, które potrzebuje stałego URL i SSO. PortPreview do codziennego debugowania webhooków, które potrzebuje powtórki i jednej komendy. Nie kolidują — po prostu obsługują różne części łuku dev-do-prod.

Jeśli rozważasz też ngrok lub localtunnel, te porównania mogą być bardziej bezpośrednio istotne. Dołącz do listy oczekujących PortPreview po stronę pętli dev.

Najczęściej zadawane pytania

Czy Cloudflare Tunnel zastępuje PortPreview?
Niezupełnie. Cloudflare Tunnel optymalizuje pod utrzymanie usługi stale online z edge Cloudflare — nazwane tunele, własne domeny, Zero Trust. PortPreview optymalizuje pod pętlę dev — sesje jedną komendą z przechwytywaniem i powtórką żądań. Rozwiązują różne problemy i dobrze współistnieją.
Czy Cloudflare Tunnel wspiera inspekcję żądań webhooków?
Nie natywnie. cloudflared przekazuje ruch bez wbudowanego inspektora żądań. By inspekcjonować lub powtarzać webhooki, musiałbyś doczepić osobne proxy lub warstwę logowania. PortPreview zawiera przechwytywanie i powtórkę w CLI.
Czy mogę użyć Cloudflare Tunnel do szybkich sesji dev?
Tak, przez tryb quick tunnel (cloudflared tunnel --url localhost:3000). Wystarczający do podstawowego wystawienia, ale bez inspekcji żądań, powtórki ani stabilnego URL bez dodatkowej konfiguracji nazwanego tunelu.