INTEGRITY Документация

Настройте preview URL на собственном домене

Настройте wildcard DNS, маршруты и TLS, чтобы exposePort() preview-URL работали на вашем домене. Чтобы развернуть Worker и образ sandbox, обратитесь к Разверните приложение Sandbox.

Для Preview URL требуется wildcard DNS, так как каждый открытый порт получает уникальный поддомен: https://8080-abc123.yourdomain.com.

.workers.dev домен не поддерживает wildcard-поддомены, поэтому для preview URL, которые должны быть доступны по публичному имени хоста вне локальной разработки, требуется собственный домен.

Предварительные требования

Настройка

Создайте wildcard-запись DNS

В панели управления Cloudflare откройте свой домен и создайте A-запись:

Это направляет все поддомены через прокси Cloudflare. IP-адрес 192.0.2.0 это адрес из документации (RFC 5737), который Cloudflare распознает при проксировании.

Настройте маршруты Worker

Добавьте маршрут с подстановочным знаком в конфигурацию Wrangler:

{
	"$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"

Замените yourdomain.com на ваш реальный домен. Это направляет все запросы к поддоменам на ваш Worker и позволяет Cloudflare автоматически выпускать SSL-сертификаты.

Примените маршрут

Разверните Worker заново, чтобы конфигурация маршрута вступила в силу:

npx wrangler deploy

Если это развёртывание также меняет образ sandbox или пакет, следуйте Разверните приложение Sandbox для развёртывания и сопоставления пакета с образом. Для изменений, затрагивающих только маршруты, можно по-прежнему использовать обычный деплой. Используйте --containers-rollout=none только если вы намеренно пропускаете обновления образа контейнера и инстанса.

Проверить

Проверьте, что превью-URL работают:

// 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

Откройте URL в браузере, чтобы убедиться, что ваш сервис доступен.

Устранение неполадок

Подробности по устранению неполадок см. в Документация по маршрутизации Workers.