34 lines
1.3 KiB
YAML
34 lines
1.3 KiB
YAML
# 在可用 Upstream 间轮询。
|
|
version: 1
|
|
security: {requireProtectionOnPublicListen: true}
|
|
gateway: {enabled: true, listen: '127.0.0.1:8080', auth: {mode: none}}
|
|
routing:
|
|
- name: round-robin
|
|
enabled: true
|
|
purpose: gateway
|
|
match: {hostRegex: '.*'}
|
|
upstreams: [provider-a, provider-b]
|
|
strategy: {type: roundRobin}
|
|
onUnavailable: {action: reject}
|
|
upstreams:
|
|
provider-a:
|
|
enabled: true
|
|
exposure: [gateway]
|
|
provider: {billingMode: subscription, protocols: [http]}
|
|
api: {url: https://provider-a.example/proxies, method: GET, auth: {type: none}, template: '{{.}}'}
|
|
proxyAuth: {type: response}
|
|
pool: {maxSize: 1000}
|
|
capacity: {maxConcurrencyPerProxy: 10}
|
|
lifecycle: {ttl: 2m, allocationSafetyMargin: 15s}
|
|
fetch: {requestInterval: 1s, timeout: 3s, maxAttempts: 3, maxInFlight: 1}
|
|
provider-b:
|
|
enabled: true
|
|
exposure: [gateway]
|
|
provider: {billingMode: subscription, protocols: [http]}
|
|
api: {url: https://provider-b.example/proxies, method: GET, auth: {type: none}, template: '{{.}}'}
|
|
proxyAuth: {type: response}
|
|
pool: {maxSize: 1000}
|
|
capacity: {maxConcurrencyPerProxy: 10}
|
|
lifecycle: {ttl: 2m, allocationSafetyMargin: 15s}
|
|
fetch: {requestInterval: 1s, timeout: 3s, maxAttempts: 3, maxInFlight: 1}
|