进程管理与安全类

ca-base <dir>

指定一个获取 SSL CA 证书和 CRLs 的默认目录。

ca-filecrl-file两个指令如果设置为相对路径,则以此目录为基础。

ca-filecrl-file如果设置为绝对路径,则ca-base会被忽略。

chroot <jail dir>

把 HAProxy 的工作目录更改到<jail dir>,并在放弃权限前执行chroot()操作。这个设置能提升安全性:当系统被入侵时,使黑客很难找到系统的弱并攻破它。此设置仅当以超级用户的权限执行时才有效。

请留意:一定要保证<jail dir>是空白目录,并且任何用户都没有可读权限。

cpu-map <"all"|"odd"|"even"|process_num> <cpu-set>…

将一个进程绑定到指定的 CPU 集上,此设置仅在 Linux 2.6 或以上版本才有效。进行此设置意味着进程只允许在某一 CPU 集上运行。

第一个参数指定将要被绑定的进程数,必须是 1~32 或 1~64 中的数字(取决于你的机器是 32 还是 64 位的),此时 nbproc 上的 PID 将被忽略。设置为all表示所有进程,设置为odd表示奇数的进程,even表示偶数的进程。这和使用bing-process指令是一个意思。

第二个参数指定 CPU 集。每个 CPU 集都有自己的唯一编号,范围在 0~31 或 0~63,由两个这样的数字加上一个“-”连接符组成。你可以指定多个 CPU 或范围用以允许进程对其做绑定。

你可以编写多个cpu-map指令,但只有最后一个指令会生效,上面的都会被覆盖。

crt-base <dir>

指定一个获取 SSL 证书的默认目录。

crtfile指令如果设置为相对路径,则以此目录为基础。如果crtfile设置为绝对路径,则本设置会被忽略。

daemon

使进程工作在守护模式下,推荐默认启用。该设置项等同命令行的-D选项,可以使用-db选项来关闭这个设置。

deviceatlas-json-file <path>

设置 API 所加载的 DeviceAtlas JSON 数据的路径。该路径必须指向一个合法的 JSON 数据,并且 HAProxy 有权限可访问。

deviceatlas-log-level <value>

设置 API 返回的信息等级。该配置项可选,默认值为0

deviceatlas-separator <char>

设置 API 返回结果中属性之间的分隔符。默认值是|

deviceatlas-properties-cookies <name>

设置当客户端请求时使用的 DeviceAtlas 组件的 cookie 名。该配置项可选,默认值为DAPROPS

external-check

设置允许使用外部代理进行健康检查。出于安全考虑,改设置默认关闭。

(参看:option external-check(TODO))

gid <number>

设置进程的组 ID 为<number>。推荐使用专属于 HAProxy 或类似守护进程的组 ID。HAProxy 必须以属于该组的用户的权限来运行,或者以超级用户的权限来运行。

请留意,如果 HAProxy 以超级用户的权限运行,而该用户拥有补充组,则 HAProxy 只会丢弃它们。

hard-stop-after <time>

设置一个强行清除 soft-stop 动作的超时时间。参数<time>默认为毫秒,指的是当 HAProxy 运行实例收到 SIGUSR1 信号而执行 soft-stop 后的最大超时时间。

设置该设置项可以确保在实例因执行 soft-stop 却被一些长连接(比如 TCP 模式下有一个超长的超时时间设置)阻止退出时依然能退出。TCP 或 HTTP 模式均有效。