客户端配置¶
http_client
配置块用于定义全局的 HTTP 客户端行为。这里的设置将影响所有上游组 (upstream_groups
) 发出的出站 DoH (DNS-over-HTTPS) 请求。
精细地调整这些参数,可以帮助你优化网络连接的性能和可靠性。
示例¶
http_client:
connect_timeout: 5
request_timeout: 10
idle_timeout: 60
keepalive: 60
agent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
参数详解¶
参数 | 类型 | 描述 | 默认值 | 是否必填 |
---|---|---|---|---|
connect_timeout |
整数 | 建立一个新连接(TCP 握手)的超时时间(秒)。如果在此时间内无法与服务器建立连接,请求将失败。 | 5 |
是 (若 http_client 块存在) |
request_timeout |
整数 | 从连接建立成功到接收到完整响应(或请求被取消)的总超时时间(秒)。这包括了发送请求和等待响应的全部过程。 | 10 |
是 (若 http_client 块存在) |
idle_timeout |
整数 | 连接池中一个空闲连接的最大存活时间(秒)。超过此时间未被使用的连接将被关闭,以释放资源。 | 60 |
否 |
keepalive |
整数 | 为底层的 TCP 连接启用 TCP Keepalive ,并设置探测间隔(秒)。这有助于维持长连接,及时发现失效的连接。 |
60 |
否 |
agent |
字符串 | 在发送 HTTP 请求时,使用的 User-Agent 请求头。你可以将其设置为任何你希望的值,或保留默认。 |
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 |
否 |
✨ 专家提示:
- 在一个网络状况不佳的环境中,你可能需要适当增加
connect_timeout
和request_timeout
的值,以避免因网络波动导致的请求失败。idle_timeout
和keepalive
是优化连接池性能的关键参数。对于大多数场景,默认值是合理的。如果你需要与大量不同的上游服务器通信,且每个服务器的请求频率不高,可以适当调低idle_timeout
来更快地回收空闲连接。