proxy-pool/examples/config/15-strict-ttl-health.yaml

35 lines
1.1 KiB
YAML

# 只发放剩余 TTL 至少 60 秒且 5 秒内检查过的 Proxy。
version: 1
security: {requireProtectionOnPublicListen: true}
distribution:
enabled: true
listen: 127.0.0.1:8081
auth: {mode: none}
clientIdentification: {mode: sourceIP}
extraction:
fulfillment: partial
maxCountPerRequest: 20
minRemainingTTL: 60s
maxHealthCheckAge: 5s
reserveForGateway: 0
routing:
- name: fresh-extract
enabled: true
purpose: extract
match: {hostRegex: '.*'}
upstreams: [provider-a]
strategy: {type: random}
onUnavailable: {action: reject}
upstreams:
provider-a:
enabled: true
exposure: [extract]
provider: {billingMode: fetch, protocols: [http]}
api: {url: https://provider-a.example/proxies, method: GET, auth: {type: none}, template: '{{.}}'}
proxyAuth: {type: response}
pool: {maxSize: 1000}
capacity: {maxConcurrencyPerProxy: 1}
lifecycle: {ttl: 5m, allocationSafetyMargin: 60s}
fetch: {requestInterval: 1s, timeout: 3s, maxAttempts: 3, maxInFlight: 1, maxTotal: 100000}
check: {interval: 5s, jitter: 20, maxInFlight: 500, timeout: 2s, maxAttempts: 2, maxConsecutiveFailures: 3}