跳转至

客户端配置

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_timeoutrequest_timeout 的值,以避免因网络波动导致的请求失败。
  • idle_timeoutkeepalive 是优化连接池性能的关键参数。对于大多数场景,默认值是合理的。如果你需要与大量不同的上游服务器通信,且每个服务器的请求频率不高,可以适当调低 idle_timeout 来更快地回收空闲连接。

下一步