INTEGRITY Dokumentace

Začínáme

Tento návod vás provede vytvořením první Workers VPC Service, díky které bude váš Worker moci přistupovat k prostředkům ve vaší privátní síti.

Vytvoříte aplikaci Workers, ve své privátní síti vytvoříte Tunnel pro její připojení ke Cloudflare a poté nakonfigurujete VPC Services pro služby ve své privátní síti, ke kterým chcete přistupovat z Workers.

Předpoklady

Než začnete, ujistěte se, že jste splnili následující:

  1. Zaregistrujte si účet Cloudflare ↗.
  2. Nainstalujte Node.js ↗.

Správce verzí Node.js

Použijte správce verzí Node, jako je Volta ↗ nebo nvm ↗ abyste se vyhnuli problémům s oprávněními a mohli měnit verze Node.js. Wrangler, o kterém se dozvíte dále v této příručce, vyžaduje verzi Node 16.17.0 nebo novější.

Dále budete potřebovat:

1. Vytvořte nový projekt Worker

Vytvořte nový projekt Workeru pomocí nástroje Wrangler:

npm create cloudflare@latest -- workers-vpc-app

Při nastavení vyberte následující možnosti:

Přejděte do adresáře svého projektu:

cd workers-vpc-app

2. Nastavte Cloudflare Tunnel

Cloudflare Tunnel vytváří zabezpečené připojení z vaší privátní sítě ke Cloudflare. Tento tunel umožní Workers bezpečný přístup k vašim privátním prostředkům. Tunel můžete vytvořit na virtuálním počítači nebo v kontejneru ve vašem externím cloudu, případně pro účely tohoto návodu i na svém lokálním počítači.

  1. Přejděte na Dashboard Workers VPC ↗ a vyberte Tunnels kartě.

  2. Vyberte Vytvořit pro vytvoření nového tunelu.

  3. Zadejte název tunelu (například workers-vpc-tunnel) a vyberte Uložit tunel.

  4. Vyberte svůj operační systém a architekturu. Dashboard vám poskytne konkrétní instalační pokyny pro vaše prostředí.

  5. Podle uvedených příkazů stáhněte a nainstalujte cloudflared, a spusťte instalační příkaz služby s vaším jedinečným tokenem.

Dashboard potvrdí, jakmile se váš tunel úspěšně připojí.

Konfigurace vaší privátní sítě pro Cloudflare Tunnel

Jakmile je váš tunel připojen, musíte zajistit, aby měl přístup ke službám, k nimž chcete umožnit přístup svým Workers. Tunel by měl být nainstalován na počítači, který dokáže dosáhnout interních prostředků, jež chcete zpřístupnit službě Workers VPC. V externích cloudech to může znamenat konfiguraci Access-Control-Lists, Security Groups nebo VPC Firewall Rules, aby tunel mohl k požadovaným službám přistupovat.

3. Vytvořte VPC Service

Nyní, když je váš tunel spuštěný, vytvořte VPC Service, kterou mohou Workers použít k přístupu k vašim interním zdrojům:

  1. Přejděte na Dashboard Workers VPC ↗ a vyberte VPC služby kartě.

  2. Vyberte Vytvořit pro vytvoření nové VPC Service.

  3. Zadejte Název služby pro vaši VPC Service (například my-private-api).

  4. Vyberte svůj tunel z Tunnel rozbalovací nabídka, nebo vyberte Create Tunnel pokud potřebujete vytvořit nový.

  5. Zadejte Hostitel nebo IP adresa vaší interní služby (například localhost, internal-api.company.local, nebo 10.0.1.50).

  6. Nakonfigurujte Porty. Vyberte jednu z možností:

    • Použít výchozí porty pro standardní HTTP (80) a HTTPS (443)
    • Uveďte hodnoty portů pro zadání vlastních portů HTTP a HTTPS
  7. Nakonfigurujte DNS resolver. Vyberte jednu z možností:

    • Použít tunel jako resolver pro použití vestavěného DNS překladu tunelu
    • Vlastní resolver a zadejte IP adresu svého DNS resolveru (například 8.8.8.8)
  8. Vyberte Vytvoření služby pro vytvoření vaší VPC Service.

Dashboard zobrazí vaši novou VPC Service s jedinečným ID služby. Toto ID služby si uložte pro další krok.

Pro službu HTTP:

npx wrangler vpc service create my-private-api \
  --type http \
  --tunnel-id <YOUR_TUNNEL_ID> \
  --hostname <YOUR_HOSTNAME>

Pro službu TCP (například databázi PostgreSQL):

npx wrangler vpc service create my-database \
  --type tcp \
  --tcp-port 5432 \
  --app-protocol postgresql \
  --tunnel-id <YOUR_TUNNEL_ID> \
  --ipv4 <YOUR_IPV4_ADDRESS>

Nahraďte:

  • <YOUR_TUNNEL_ID> s ID tunelu z kroku 2
  • <YOUR_HOSTNAME> s hostname vaší interní služby (například internal-api.company.local)
  • <YOUR_IPV4_ADDRESS> se soukromou IP adresou vaší služby (například 10.0.1.50)

Můžete také:

  • Vytvářejte služby pomocí IP adres tak, že nahradíte --hostname <YOUR_HOSTNAME> hodnotou --ipv4 <YOUR_IPV4_ADDRESS>, --ipv6 <YOUR_IPV6_ADDRESS>, nebo obojí pro konfiguraci dual-stack
  • Vlastní porty pro služby HTTP zadáte přidáním --http-port <PORT> a/nebo --https-port <PORT> (například --http-port 8080 --https-port 8443)
  • Režim ověřování certifikátu TLS nastavte pomocí --cert-verification-mode (verify_full, verify_ca, nebo disabled)

Příkaz vám vrátí ID služby. Uložte si ho pro další krok.

Pokud narazíte na chyby oprávnění, přečtěte si Požadované role.

4. Nakonfigurujte svůj Worker

Přidejte VPC Service binding do konfiguračního souboru Wrangler:

{
	"$schema": "./node_modules/wrangler/config-schema.json",
	"name": "workers-vpc-app",
	"main": "src/index.ts",
	// Set this to today's date
	"compatibility_date": "2026-08-28",
	"vpc_services": [
		{
			"binding": "VPC_SERVICE",
			"service_id": "<YOUR_SERVICE_ID>"
		}
	]
}
"$schema" = "./node_modules/wrangler/config-schema.json"
name = "workers-vpc-app"
main = "src/index.ts"
# Set this to today's date
compatibility_date = "2026-08-28"

[[vpc_services]]
binding = "VPC_SERVICE"
service_id = "<YOUR_SERVICE_ID>"

Nahraďte <YOUR_SERVICE_ID> s ID služby z kroku 3.

5. Napište kód svého Workeru

Upravte svůj Worker tak, aby používal binding VPC Service. Následující příklad:

export default {
	async fetch(request, env, ctx): Promise<Response> {
		const url = new URL(request.url);

		// This is a simple proxy scenario.
		// In this case, you will need to replace the URL with the proper protocol (http vs. https), hostname and port of the service.
		// For example, this could be "http://localhost:1111", "http://192.0.0.1:3000", "https://my-internal-api.example.com"
		const targetUrl = new URL(
			`http://<ENTER_SERVICE_HOST>:<ENTER_SERVICE_PORT>${url.pathname}${url.search}`,
		);

		// Create new request with the target URL but preserve all other properties
		const proxyRequest = new Request(targetUrl, {
			method: request.method,
			headers: request.headers,
			body: request.body,
		});

		const response = await env.VPC_SERVICE.fetch(proxyRequest);

		return response;
	},
} satisfies ExportedHandler<Env>;

6. Otestujte lokálně

Otestujte svůj Worker lokálně. Musíte přitom použít vzdálené VPC Services, a to buď pomocí Vzdálené vazby Workers jak bylo nastaveno ve vašem wrangler.jsonc konfigurační soubor, nebo pomocí npx wrangler dev --remote:

npx wrangler dev

Navštivte http://localhost:8787 pro otestování připojení vašeho Workeru k vaší soukromé síti.

7. Nasaďte svůj Worker

Jakmile je testování dokončeno, nasaďte svůj Worker:

npx wrangler deploy

Váš Worker je nyní nasazen a může bezpečně přistupovat k prostředkům vaší privátní sítě přes Cloudflare Tunnel. Pokud narazíte na chyby oprávnění, přečtěte si Požadované role.

Další kroky