INTEGRITY Dokumentace

Přístup k soukromému API nebo webu

Tento příklad ukazuje, jak přistupovat k privátnímu REST API, které není vystaveno veřejnému internetu. V tomto návodu nakonfigurujeme VPC Service pro interní API, vytvoříme Worker, který na toto API posílá požadavky, a Worker nasadíme, abychom ověřili naše změny.

Předpoklady

1. 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.

  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 private-api-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 na vašem virtuálním počítači a spusťte instalační příkaz služby s vaším unikátním tokenem.

Dashboard potvrdí, jakmile se váš tunel úspěšně připojí. Poznamenejte si ID tunelu pro další krok.

2. Vytvořte Workers VPC Service

Nejprve vytvořte službu Workers VPC Service pro své interní API:

npx wrangler vpc service create api-service \
  --type http \
  --tunnel-id <YOUR_TUNNEL_ID> \
  --ipv4 10.0.1.50 \
  --http-port 8080

VPC Service pro službu můžete vytvořit také podle jejího hostname:

npx wrangler vpc service create api-service \
  --type http \
  --tunnel-id <YOUR_TUNNEL_ID> \
  --hostname internal-hostname.example.com

Poznamenejte si ID služby vrácené pro další krok.

3. Nakonfigurujte svůj Worker

Upravte konfigurační soubor Wrangler:

{
	"$schema": "./node_modules/wrangler/config-schema.json",
	"name": "private-api-gateway",
	"main": "src/index.js",
	// Set this to today's date
	"compatibility_date": "2026-08-28",
	"vpc_services": [
		{
			"binding": "INTERNAL_API",
			"service_id": "<YOUR_SERVICE_ID>",
			"remote": true
		}
	]
}
"$schema" = "./node_modules/wrangler/config-schema.json"
name = "private-api-gateway"
main = "src/index.js"
# Set this to today's date
compatibility_date = "2026-08-28"

[[vpc_services]]
binding = "INTERNAL_API"
service_id = "<YOUR_SERVICE_ID>"
remote = true

4. Implementujte Worker

Ve svém kódu Workers použijte binding VPC Service k odesílání požadavků do služby:

index.js
export default {
	async fetch(request, env, ctx) {
		try {
			// Fetch data from internal API and process it before returning
			const response = await env.INTERNAL_API.fetch("http://10.0.1.50:8080/api/data");

			// Use the response of the private API to perform more logic in Workers, before returning the final response
			return response;
		} catch (error) {
			return new Response("Service unavailable", { status: 503 });
		}
	},
};

Tento návod ukazuje, jak byste ve svých Workerech mohli vytvořit jednoduchý proxy server. Pomocí VPC Services ale můžete API volat přímo a upravovat odpovědi, což vám umožní na Workers budovat rozsáhlejší full-stack a backendovou funkcionalitu.

5. Nasaďte a otestujte

Nyní můžete nasadit a otestovat Worker, který jste vytvořili:

npx wrangler deploy
# Test GET request
curl https://private-api-gateway.workers.dev

Další kroky