5.3. 默认设置
default
设置配置应用到配置中的所有 proxy 子部分的参数(frontend
、backend
、listen
)。典型的 default
部分可能类似如下:
注意
proxy
子部分中配置的任何参数(frontend
、backend
或 listen
)都优先于 default
中的参数值。
defaults mode http log global option httplog option dontlognull retries 3 timeout http-request 10s timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m
mode
指定 HAProxy 实例的协议。使用 http
模式将源请求连接到基于 HTTP 的实际服务器,非常适合负载平衡 web 服务器。对于其他应用程序,使用 tcp
模式。
log
指定日志条目要写入的日志地址和 syslog 工具。global
值将 HAProxy 实例指代为 log
部分中的 global
参数中指定的任何内容。
option httplog
启用 HTTP 会话的各种值的日志记录,包括 HTTP 请求、会话状态、连接号、源地址和连接计时器。
option dontlognull
禁用 null 连接的日志记录,这意味着 HAProxy 不会记录没有传输数据的连接。对于 Web 应用等环境不建议这么做,其中空连接可能会指出漏洞的开放端口扫描等恶意活动。
retries
指定实际服务器在第一次尝试连接失败后,重试连接请求的次数。
各种
timeout
值指定给定请求、连接或响应的不活跃时间长度。这些值通常以毫秒为单位表示(除非另有明确说明),但是可以通过将单位加到数字值,以任何其他单位表示。支持的单位为 us(微秒)、ms(毫秒)、s(秒)、m(分钟)、h(小时)和 d(天)。http-request 10s
提供 10 秒以等待客户端的完整 HTTP 请求。queue 1m
设置一分钟,作为连接被丢弃前等待的时间,客户端会收到 503 或 "Service Unavailable" 错误。connect 10s
指定服务器成功连接的秒数。client 1m
指定客户端可以保持不活跃的时间(以分钟为单位)(不接受或发送数据)。server 1m
指定服务器在超时发生前接受或发送数据的时间(以分钟为单位)。