INTEGRITY Dokumentace

Nakonfigurujte URL adresy náhledu na vlastní doméně

Nastavte zástupné DNS, routy a TLS, aby exposePort() URL adresy pro náhled fungovaly na vaší doméně. Podrobnosti o nasazení Workeru a image sandboxu najdete v Nasazení aplikace Sandbox.

URL adresy náhledu vyžadují zástupný záznam DNS, protože každý zveřejněný port získá jedinečnou subdoménu: https://8080-abc123.yourdomain.com.

.workers.dev doména nepodporuje zástupné subdomény, takže preview URL, které musí být dostupné na veřejném hostname mimo lokální vývoj, vyžadují vlastní doménu.

Předpoklady

Nastavení

Vytvoření zástupného záznamu DNS

V dashboardu Cloudflare přejděte na svou doménu a vytvořte záznam A:

Tím se všechny subdomény směrují přes proxy Cloudflare. IP adresa 192.0.2.0 je dokumentační adresa (RFC 5737), kterou Cloudflare rozpozná, pokud je proxována.

Nakonfigurujte routy Workeru

Do konfigurace Wrangler přidejte zástupnou route:

{
	"$schema": "./node_modules/wrangler/config-schema.json",
	"name": "my-sandbox-app",
	"main": "src/index.ts",
	// Set this to today's date
	"compatibility_date": "2026-08-28",
	"routes": [
		{
			"pattern": "*.yourdomain.com/*",
			"zone_name": "yourdomain.com"
		}
	]
}
"$schema" = "./node_modules/wrangler/config-schema.json"
name = "my-sandbox-app"
main = "src/index.ts"
# Set this to today's date
compatibility_date = "2026-08-28"

[[routes]]
pattern = "*.yourdomain.com/*"
zone_name = "yourdomain.com"

Nahraďte yourdomain.com svou skutečnou doménou. Tím se všechny požadavky na subdomény směrují na váš Worker a Cloudflare může automaticky zajistit SSL certifikáty.

Použijte route

Znovu nasaďte Worker, aby se projevila konfigurace tras:

npx wrangler deploy

Pokud toto nasazení mění i image nebo balíček sandboxu, postupujte podle Nasazení aplikace Sandbox pro rollout a párování balíčku s image. Pro změny týkající se pouze trasy můžete stále použít běžný deploy. Použijte --containers-rollout=none pouze pokud záměrně vynecháte aktualizace obrazu kontejneru a instance.

Ověřit

Otestujte, že náhledové URL adresy fungují:

// Extract hostname from request
const { hostname } = new URL(request.url);

const sandbox = getSandbox(env.Sandbox, "test-sandbox");
await sandbox.startProcess("python -m http.server 8080");
const exposed = await sandbox.exposePort(8080, { hostname });

console.log(exposed.url);
// https://8080-test-sandbox.yourdomain.com

Otevřete URL adresu v prohlížeči a ověřte, že je vaše služba dostupná.

Řešení potíží

Podrobné řešení potíží najdete v Dokumentace ke směrování Workers.