Tất cả bài viết
comparisonCloudflare Tunnellocalhost tunnelingopen source

PortPreview vs Cloudflare Tunnel: công cụ khác nhau

Đây không thực sự là một cuộc đối đầu. Cloudflare Tunnel (cloudflared) và PortPreview sống ở những căn phòng khác nhau. Cloudflare Tunnel để giữ một dịch vụ trực tuyến vĩnh viễn sau edge của Cloudflare — Zero Trust, named tunnel, tên miền tùy chỉnh. PortPreview để cho hai mươi phút tiếp theo của phiên dev — kiểm thử webhook, QA di động, chia sẻ một nhánh với designer. Chọn giữa hai chủ yếu dựa vào bạn thực sự có vấn đề nào.

Cloudflare Tunnel giỏi gì

cloudflared được xây cho một việc: đưa một dịch vụ lên internet mà không mở một cổng đến nào và không phơi IP origin của bạn. Chạy nó trên một máy chủ, gắn một named tunnel vào một hostname trên tên miền Cloudflare của bạn, và lưu lượng chảy qua edge của Cloudflare tới origin của bạn qua một kết nối đi ra mà máy bạn khởi tạo.

Những việc nó làm tốt:

  • Định tuyến production. Tính năng named tunnel bền. Bạn có thể chạy cloudflared như một dịch vụ và hostname tiếp tục hoạt động qua các lần khởi động lại.
  • Chính sách truy cập Zero Trust. Chặn tunnel sau SSO, MFA hoặc allowlist IP để phơi công cụ nội bộ.
  • Tên miền tùy chỉnh. Mang tên miền của bạn lên Cloudflare. Tunnel kết thúc tại ten-mien-cua-ban.com, không phải subdomain của nhà cung cấp.
  • Định tuyến WARP. Tới các dịch vụ riêng tư từ bất kỳ thiết bị nào trên mạng Cloudflare mà không cần thiết lập VPN.

Không điều nào trong số đó liên quan đến gỡ lỗi webhook.

Nơi Cloudflare Tunnel trở nên vụng về cho dev

Chế độ quick tunnel (cloudflared tunnel --url localhost:3000) là gần nhất mà cloudflared tiến tới một công cụ dev, và nó hoạt động. Bạn có một URL *.trycloudflare.com trỏ tới cổng cục bộ của bạn. Nhưng:

  • URL xoay vòng mỗi phiên, như hầu hết tunnel dev.
  • Không có bộ kiểm tra yêu cầu tích hợp. Bạn thấy những gì máy chủ dev của bạn log và không hơn. Bắt một payload webhook để phát lại sau đòi hỏi gắn thêm một proxy hoặc logger riêng.
  • Thiết lập named tunnel (phiên bản URL ổn định) liên quan đến một tài khoản Cloudflare, bản ghi DNS và một tệp config. Đáng cho một dịch vụ sống lâu; quá mức cho một phiên lặp webhook.

Nơi PortPreview phù hợp

PortPreview là một CLI tunneling localhost cho vòng lặp dev. Một lệnh, URL HTTPS công khai, bắt và phát lại yêu cầu tích hợp sẵn.

npx portpreview 3000

Điều chúng tôi tối ưu là khoảnh khắc giữa "tôi đã đổi handler webhook Stripe" và "tôi biết nó có hoạt động không". Khoảnh khắc đó nên là vài giây. Bắt payload, sửa handler, phát lại tới khi xanh, tất cả mà không kích hoạt lại sự kiện upstream.

Cạnh nhau

Nhu cầuCloudflare TunnelPortPreview
Phiên nhanh để gỡ lỗi webhookCó thể (quick tunnel)Xây cho việc này
Bắt và phát lại yêu cầuKhông
Hostname named ổn địnhCó (cần thiết lập)Không phải trọng tâm mặc định
Tên miền tùy chỉnhSubdomain tunnel
Chính sách truy cập Zero TrustKhông
Độ phức tạp thiết lậpThấp cho quick, trung cho namedMột lệnh
Chạy mãi như một dịch vụThiết kế cho phiên
Client mã nguồn mởCó (cloudflared)

Khi nào dùng cái nào

Dùng Cloudflare Tunnel khi

  • Bạn cần một dịch vụ trực tuyến 24/7 mà không mở cổng tường lửa.
  • Bạn muốn truy cập chặn bằng SSO tới một dashboard nội bộ hoặc công cụ admin.
  • Bạn cần một URL tên miền tùy chỉnh ổn định được hậu thuẫn bởi chứng chỉ CA thật và DNS Cloudflare hiện có của bạn.
  • Bạn đã ở trên Cloudflare và chi phí thiết lập biên là nhỏ.

Dùng PortPreview khi

  • Bạn lặp một handler webhook và muốn phát lại một cú nhấp.
  • Bạn muốn chia sẻ một nhánh với một designer trong mười phút.
  • Bạn kiểm thử callback OAuth hoặc luồng di động mà không thiết lập DNS.
  • Bạn không muốn quản lý một tài khoản Cloudflare chỉ để kiểm thử một sự kiện Stripe.

Chúng cộng sinh tốt

Vài nhóm chúng tôi đã trò chuyện dùng cả hai. Cloudflare Tunnel cho công cụ nội bộ luôn-bật cần một URL cố định và SSO. PortPreview cho gỡ lỗi webhook hằng ngày cần phát lại và một lệnh duy nhất. Chúng không xung đột — chỉ phục vụ các phần khác nhau của cung dev-tới-prod.

Nếu bạn cũng đang cân nhắc ngrok hoặc localtunnel, những so sánh đó có thể liên quan trực tiếp hơn. Tham gia danh sách chờ PortPreview cho phía vòng lặp dev.

Câu hỏi thường gặp

Cloudflare Tunnel có phải là vật thay thế cho PortPreview không?
Không hẳn. Cloudflare Tunnel tối ưu để giữ một dịch vụ trực tuyến vĩnh viễn với edge của Cloudflare — named tunnel, tên miền tùy chỉnh, Zero Trust. PortPreview tối ưu cho vòng lặp dev — phiên một lệnh với bắt và phát lại yêu cầu. Chúng giải quyết vấn đề khác nhau và cộng sinh tốt.
Cloudflare Tunnel có hỗ trợ kiểm tra yêu cầu webhook không?
Không sẵn có. cloudflared chuyển tiếp lưu lượng mà không có bộ kiểm tra yêu cầu tích hợp. Để kiểm tra hoặc phát lại webhook bạn cần gắn thêm một proxy hoặc tầng logging riêng. PortPreview bao gồm bắt và phát lại trong CLI.
Tôi có thể dùng Cloudflare Tunnel cho các phiên dev nhanh không?
Có, qua chế độ quick tunnel (cloudflared tunnel --url localhost:3000). Dùng được cho phơi cơ bản nhưng không bao gồm kiểm tra yêu cầu, phát lại, hay một URL ổn định mà không có thiết lập named tunnel bổ sung.