Скопируйте пример конфигурации:
cp wrangler.toml.example wrangler.tomlОтредактируйте wrangler.toml:
name = "your-unique-app-name"
main = "src/server/index.ts"
compatibility_date = "2024-01-01"
[vars]
ENABLE_BOT_PROTECTION = "true"
[env.production]
vars = {
ENABLE_BOT_PROTECTION = "true",
CHAT_PASSWORD = "your-secure-password-here"
}
[[env.production.durable_objects.bindings]]
name = "CHAT"
class_name = "Chat"
[[durable_objects.bindings]]
name = "CHAT"
class_name = "Chat"name- уникальное имя вашего Worker'аCHAT_PASSWORD- пароль для доступа к чату
ENABLE_BOT_PROTECTION- включить/выключить защиту от ботов ("true"или"false")
Для продакшена настройте секреты через Wrangler CLI:
# Пароль чата
wrangler secret put CHAT_PASSWORD
# Ключи Cloudflare Turnstile (для защиты от ботов)
wrangler secret put TURNSTILE_SITE_KEY
wrangler secret put TURNSTILE_SECRET_KEY- Никогда не коммитьте
wrangler.tomlв Git - файл добавлен в.gitignore - Используйте сильные пароли - минимум 12 символов
- Не делитесь конфигурацией - содержит чувствительную информацию
- Используйте разные пароли для разработки и продакшена
# Генерация безопасного пароля (macOS/Linux)
openssl rand -base64 32
# Или используйте менеджер паролей[vars]
ENABLE_BOT_PROTECTION = "false" # Отключить для удобства разработки[env.production]
vars = {
ENABLE_BOT_PROTECTION = "true",
CHAT_PASSWORD = "your-secure-password"
}# Локальная разработка
npm run dev
# Деплой в продакшен
npm run deploy
# Просмотр секретов
wrangler secret listРешение:
- Проверьте синтаксис
wrangler.toml - Убедитесь, что имя Worker'а уникально
- Проверьте наличие всех обязательных переменных
Решение:
- Проверьте
CHAT_PASSWORDв конфигурации - Убедитесь, что пароль совпадает с тем, что вы вводите
- Для продакшена проверьте настройку секретов
Решение:
- Настройте ключи Turnstile через
wrangler secret put - Убедитесь, что
ENABLE_BOT_PROTECTION = "true" - Проверьте логи Cloudflare
- Документация Wrangler: https://developers.cloudflare.com/workers/wrangler/
- Durable Objects: https://developers.cloudflare.com/workers/runtime-apis/durable-objects/
- Cloudflare Turnstile: https://developers.cloudflare.com/turnstile/