- Add trusted_proxies field to ServerConfig (Vec<String>, serde default) - Default value is empty vector (no proxy trust until explicitly configured) - Development config: trust localhost IPs (127.0.0.1, ::1) - Production config: placeholder localhost IPs with comment to replace
37 lines
1022 B
TOML
37 lines
1022 B
TOML
# ZCLAW SaaS 生产环境配置
|
|
# 通过 ZCLAW_ENV=production 使用此配置
|
|
|
|
[server]
|
|
host = "0.0.0.0"
|
|
port = 8080
|
|
# 生产环境必须配置 CORS 白名单
|
|
cors_origins = ["https://admin.zclaw.ai", "https://zclaw.ai"]
|
|
trusted_proxies = ["127.0.0.1", "::1"] # 替换为实际代理 IP
|
|
|
|
[database]
|
|
# 生产环境通过 ZCLAW_DATABASE_URL 环境变量覆盖,此处为占位
|
|
url = "postgres://zclaw:CHANGE_ME@db:5432/zclaw"
|
|
|
|
[auth]
|
|
jwt_expiration_hours = 12
|
|
totp_issuer = "ZCLAW SaaS"
|
|
refresh_token_hours = 168
|
|
|
|
[relay]
|
|
max_queue_size = 5000
|
|
max_concurrent_per_provider = 10
|
|
batch_window_ms = 50
|
|
retry_delay_ms = 2000
|
|
max_attempts = 3
|
|
|
|
[rate_limit]
|
|
requests_per_minute = 60
|
|
burst = 10
|
|
|
|
[scheduler]
|
|
jobs = [
|
|
{ name = "cleanup_rate_limit", interval = "5m", task = "cleanup_rate_limit", run_on_start = false },
|
|
{ name = "cleanup_refresh_tokens", interval = "1h", task = "cleanup_refresh_tokens", run_on_start = false },
|
|
{ name = "cleanup_devices", interval = "24h", task = "cleanup_devices", run_on_start = true },
|
|
]
|