INTEGRITY Dokumentace

Vytvoření tunelu (API)

Podle tohoto průvodce nastavte Cloudflare Tunnel pomocí API.

Vytvořte token API

Vytvořte token API s následujícími oprávněními:

Typ Položka Oprávnění
Účet Cloudflare Tunnel Úprava
Zóna DNS Úprava

2. Vytvořte tunel

Vytvořte POST požadavek na Cloudflare Tunnel koncový bod:

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
Vytvořte Cloudflare Tunnel
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/cfd_tunnel" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"name": "api-tunnel",
		"config_src": "cloudflare"
	}'
{
  "success": true,
  "errors": [],
  "messages": [],
  "result": {
    "id": "c1744f8b-faa1-48a4-9e5c-02ac921467fa",
    "account_tag": "699d98642c564d2e855e9661899b7252",
    "created_at": "2025-02-18T22:41:43.534395Z",
    "deleted_at": null,
    "name": "example-tunnel",
    "connections": [],
    "conns_active_at": null,
    "conns_inactive_at": "2025-02-18T22:41:43.534395Z",
    "tun_type": "cfd_tunnel",
    "metadata": {},
    "status": "inactive",
    "remote_config": true,
    "credentials_file": {
      "AccountTag": "699d98642c564d2e855e9661899b7252",
      "TunnelID": "c1744f8b-faa1-48a4-9e5c-02ac921467fa",
      "TunnelName": "api-tunnel",
      "TunnelSecret": "bTSquyUGwLQjYJn8cI8S1h6M6wUc2ajIeT7JotlxI7TqNqdKFhuQwX3O8irSnb=="
    },
    "token": "eyJhIjoiNWFiNGU5Z..."
  }
}

Zkopírujte id a token hodnoty zobrazené ve výstupu. Tyto hodnoty budete potřebovat ke konfiguraci a spuštění tunelu.

Další kroky závisí na tom, zda chcete publikovat aplikaci do internetu nebo připojit soukromou síť.

3a. Publikujte aplikaci

Než přes svůj tunel publikujete aplikaci, musíte:

Podle těchto kroků publikujte aplikaci na internetu. Pokud chcete připojit privátní prostředek, přejděte na Připojení sítě sekce.

  1. Vytvořte PUT požadavek a směrovat váš URL místní služby na veřejný hostname. Například,

    Požadovaná oprávnění API tokenu

    Alespoň jeden z následujících oprávnění tokenu je povinné:
    • Cloudflare One Connectors Write
    • Cloudflare One Connector: cloudflared Write
    • Cloudflare Tunnel Write
    Aktualizovat konfiguraci Tunnelu
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/cfd_tunnel/$TUNNEL_ID/configurations" \
    	--request PUT \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"config": {
    				"ingress": [
    						{
    								"hostname": "app.example.com",
    								"service": "http://localhost:8001",
    								"originRequest": {}
    						},
    						{
    								"service": "http_status:404"
    						}
    				]
    		}
    	}'

    Vaše vstupní pravidla musí na konci obsahovat catch-all pravidlo. V tomto příkladu cloudflared odpoví stavovým kódem 404, pokud požadavek neodpovídá žádnému z předchozích hostname.

  2. Vytvořte záznam DNS pro vaši aplikaci:

    Požadovaná oprávnění API tokenu

    Alespoň jeden z následujících oprávnění tokenu je povinné:
    • DNS Write
    Vytvoření DNS záznamu
    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"type": "CNAME",
    		"proxied": true,
    		"name": "app.example.com",
    		"content": "c1744f8b-faa1-48a4-9e5c-02ac921467fa.cfargotunnel.com"
    	}'

    Tento DNS záznam umožňuje Cloudflare proxovat app.example.com provoz do vašeho Cloudflare Tunnel (<tunnel-id>.cfargotunnel.com).

Tato aplikace bude veřejně dostupná na internetu, jakmile spusťte tunel. Chcete-li povolit nebo blokovat konkrétní uživatele, vytvořit aplikaci Access.

3b. Připojte síť

Chcete-li připojit privátní síť přes svůj tunel, přidejte trasu tunelu:

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
Vytvořit trasu tunelu
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/teamnet/routes" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"network": "172.16.0.0/16",
		"tunnel_id": "c1744f8b-faa1-48a4-9e5c-02ac921467fa",
		"comment": "Example private network route"
	}'

cloudflared nyní může směrovat provoz na tyto cílové IP adresy. Pokyny ke konfiguraci zásad Zero Trust a připojení jako uživatel najdete v Připojení privátních sítí.

4. Nainstalujte a spusťte tunel

Nainstalujte cloudflared na svém serveru a spusťte tunel pomocí token hodnotu získanou v 2. Vytvořte tunel. Token tunelu můžete také získat pomocí Token Cloudflare Tunnel koncový bod.

  1. Stáhněte a nainstalujte cloudflared.

  2. Spusťte následující příkaz:

    sudo cloudflared service install <TUNNEL_TOKEN>
  1. Stáhněte a nainstalujte cloudflared.

  2. Otevřete Command Prompt jako správce.

  3. Spusťte následující příkaz:

    cloudflared.exe service install <TUNNEL_TOKEN>
  1. Stáhněte a nainstalujte cloudflared.

  2. Otevřete okno terminálu a spusťte následující příkaz:

    sudo cloudflared service install <TUNNEL_TOKEN>
  1. Otevřete okno terminálu.

  2. Spusťte následující příkaz:

    docker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token <TUNNEL_TOKEN>

5. Ověřte stav tunelu

Chcete-li zkontrolovat, zda tunel obsluhuje provoz:

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
Získání Cloudflare Tunnelu
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/cfd_tunnel/c1744f8b-faa1-48a4-9e5c-02ac921467fa" \
	--request GET \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
{
  "success": true,
  "errors": [],
  "messages": [],
  "result": {
    "id": "c1744f8b-faa1-48a4-9e5c-02ac921467fa",
    "account_tag": "699d98642c564d2e855e9661899b7252",
    "created_at": "2025-02-18T22:41:43.534395Z",
    "deleted_at": null,
    "name": "example-tunnel",
    "connections": [
      {
        "colo_name": "bos01",
        "uuid": "2xz99mfm-a59e-4924-gyh9-z9vafaw6k0i2",
        "id": "2xz99mfm-a59e-4924-gyh9-z9vafaw6k0i2",
        "is_pending_reconnect": false,
        "origin_ip": "10.1.0.137",
        "opened_at": "2025-02-19T19:11:12.101642Z",
        "client_id": "4xh4eb3f-cz0j-2aso-hu6i-36207018771a",
        "client_version": "2025.2.0"
      },
      {
        "colo_name": "phl01",
        "uuid": "axe2socu-2fb5-3akx-b860-898zyes3cs9q",
        "id": "axe2socu-2fb5-3akx-b860-898zyes3cs9q",
        "is_pending_reconnect": false,
        "origin_ip": "10.1.0.137",
        "opened_at": "2025-02-19T19:11:12.006297Z",
        "client_id": "4xh4eb3f-cz0j-2aso-hu6i-36207018771a",
        "client_version": "2025.2.0"
      },
      {
        "colo_name": "phl01",
        "uuid": "9b5y0wm9-ca7f-ibq6-8ff4-sm53xekfyym1",
        "id": "9b5y0wm9-ca7f-ibq6-8ff4-sm53xekfyym1",
        "is_pending_reconnect": false,
        "origin_ip": "10.1.0.137",
        "opened_at": "2025-02-19T19:11:12.004721Z",
        "client_id": "4xh4eb3f-cz0j-2aso-hu6i-36207018771a",
        "client_version": "2025.2.0"
      },
      {
        "colo_name": "bos01",
        "uuid": "g6cdeiz1-80f5-3akx-b18b-3y0ggktoxwkd",
        "id": "g6cdeiz1-80f5-3akx-b18b-3y0ggktoxwkd",
        "is_pending_reconnect": false,
        "origin_ip": "10.1.0.137",
        "opened_at": "2025-02-19T19:11:12.110765Z",
        "client_id": "4xh4eb3f-cz0j-2aso-hu6i-36207018771a",
        "client_version": "2025.2.0"
      }
    ],
    "conns_active_at": "2025-02-19T19:11:12.004721Z",
    "conns_inactive_at": null,
    "tun_type": "cfd_tunnel",
    "metadata": {},
    "status": "healthy",
    "remote_config": true
  }
}

Funkční tunel má čtyři připojení k síti Cloudflare.