Tunnel
Chia sẻ dự án Govard local ra public URL mà không cần deploy — phù hợp demo cho khách hàng, test webhook hoặc kiểm tra trên thiết bị di động.
Yêu cầu trước
Cài đặt cloudflared trên host:
bash
# Linux (.deb)
curl -fsSL https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb -o /tmp/cloudflared.deb
sudo dpkg -i /tmp/cloudflared.deb
# macOS (Homebrew)
brew install cloudflaredKiểm tra:
bash
cloudflared --versionGovard không bundle cloudflared — bạn tự quản lý cài đặt/nâng cấp.
Bắt đầu nhanh
bash
# Khởi tunnel cho project hiện tại (tự dò URL từ output cloudflared)
govard tunnel start
# Hoặc truyền URL đã tạo sẵn
govard tunnel start https://my-demo.trycloudflare.com
# Dry-run: chỉ in kế hoạch, không chạy
govard tunnel start --planTrong khi tunnel chạy:
- Govard đăng ký domain tunnel như alias Caddy cho project (Caddy route nó như
*.test, không cần đổi DNS). - Giữ nguyên
Hostheader gốc — Magento/Laravel không thấy host lạ nên không redirect. - Base URL của framework được rewrite sang URL tunnel qua
BaseURLManager(Magento 2 ghiweb/unsecure/base_url…). URL gốc được khôi phục khitunnel stophoặcCtrl+C.
Dừng tunnel:
bash
govard tunnel stop
# hoặc Ctrl+C tiến trình startKiểm tra trạng thái:
bash
govard tunnel statusCác cờ
| Cờ | Tác dụng |
|---|---|
[url] | URL tunnel tùy chọn. Nếu không truyền, Govard tự parse từ stdout cloudflared. |
--provider <name> | Provider tunnel. Hiện chỉ có cloudflare. |
--no-tls-verify | Bỏ qua xác thực TLS cho endpoint tunnel. |
--plan | In kế hoạch khởi động rồi thoát — không chạy process. |
Cách hoạt động
govard tunnel startxác định target URL (arg, flag--url, hoặc tự dò).- Provider
BuildStartPlantạo route alias Caddy và kế hoạch patch base-URL. - Process tunnel (
cloudflared tunnel --url http://localhost:80…) được spawn. - Khi thoát (chủ động hoặc bị ngắt), Govard xóa alias Caddy và revert base URL.
Phạm vi:
tunnelchỉ rewrite domain chính. Multi-storestore_domainsvẫn giữ host.test— chúng vẫn resolve local quadnsmasq.
Khắc phục sự cố
| Triệu chứng | Cách sửa |
|---|---|
cloudflared: command not found | Cài cloudflared trước (xem Yêu cầu). |
| Tunnel URL báo 404 của Govard | Chạy govard env up trước — project phải đang chạy để Caddy có backend. |
| Base URL không khôi phục sau Ctrl+C | Chạy govard tunnel stop hoặc govard config auto (Magento 2) để áp lại URL local. |
tunnel status báo không có tunnel | Không có tunnel đang chạy — tunnel start phải chạy ở terminal khác. |