0
点赞
收藏
分享

微信扫一扫

HAProxy 入门实战(5)--bind 和 server 参数选项

"bind"、"server"和"default-server"关键字支持多种设置,这些设置通常由一个单词组成,有时后面跟着一个值;这些设置在相同的行上写入。

1、bind 参数选项

"bind"关键字支持一些设置,这些设置都作为参数放在相同的行上。这些参数出现的顺序并不重要,只要它们出现在绑定地址之后即可。所有这些参数都是可选的。其中一些参数由一个单词(布尔值)组成,而其他参数在它们之后需要一个值。在这种情况下,值必须紧跟在设置名称之后提供。

1.1、参数说明

选项

说明

ca-file <cafile>

指定 CA 证书,用于验证客户端证书

crt <cert>

指定代理服务的证书,如果证书中不包含私钥,HAProxy 将尝试在相同路径下加载  "证书 +.key"的密钥文件

force-sslv3

强制使用 SSLv3 协议;相对于TLS协议,SSLv3 通常在高连接速率下具有更低的开销

force-tlsv10

强制使用 TLSv1.0 协议

force-tlsv11

强制使用 TLSv1.1 协议

force-tlsv12

强制使用 TLSv1.2 协议

force-tlsv13

强制使用 TLSv1.3 协议

maxconn <maxconn>

设置同时连接的最大套接字数量;如果未指定,则限制将与前端的最大连接数(maxconn)相同

no-sslv3

禁用 SSLv3 协议

no-tlsv10

禁用 TLSv1.0 协议

no-tlsv11

禁用 TLSv1.1 协议

no-tlsv12

禁用 TLSv1.2 协议

no-tlsv13

禁用 TLSv1.3 协议

ssl

启用 SSL

v4v6

当使用默认地址时,支持 IPv4 和 IPv6

v6only

当使用默认地址时,仅支持 IPv6

verify [none|optional|required]

none:不请求客户端证书

optional:请求客户端证书,如果客户端没用提供证书,则握手成功;如果客户端提供证书,则验证证书

required:请求并验证客户端证书

1.2、使用样例

bind 0.0.0.0:6060 ssl crt /home/mongo/soft/haproxy-2.8.2/ssl/server.pem ca-file /home/mongo/soft/haproxy-2.8.2/ssl/ca.pem verify required

2、server 和 default-server 参数选项

“server”和“default-server”参数支持一些设置,这些设置都作为参数放在相同的行上。这些参数出现的顺序没有影响,并且它们都是可选的。其中一些设置是单词(布尔值),而其他设置在其后需要一个或多个值,在这种情况下,这些值必须紧跟在设置名称之后。对于"server",所有这些设置都必须在服务器地址之后指定。

除了"id"只被"server"支持外,所有这些设置都被"server"和"default-server"两个参数支持。

2.1、参数说明

选项

说明

addr <ipv4|ipv6>

使用不同的IP地址进行健康检查

backup

设置服务器为备用服务器

ca-file <cafile>

指定 CA 证书,用于验证服务端证书

check

启用对服务器的健康检查

check-ssl

健康检查时使用SSL

ciphers <ciphers>

设置SSL/TLS握手期间协商的密码算法

cookie <value>

设置服务的 cookie 值,用于会话保持

crt <cert>

设置发送给服务端的证书, 如果证书中不包含私钥,HAProxy 将尝试在相同路径下加载  "证书 +.key"的密钥文件

disabled

设置服务器为停用状态

enabled

设置服务器为启用状态

error-limit <count>

健康检查时,连续错误该参数指定的次数后,将触发由"on-error"参数指定的事件;默认为 10

fall <count>

连续<count>次不成功的健康检查后,服务器将被视为失效;默认值为 3

force-sslv3

与服务器通信时强制使用 SSLv3 协议

force-tlsv10

与服务器通信时强制使用 TLSv1.0 协议

force-tlsv11

与服务器通信时强制使用 TLSv1.1 协议

force-tlsv12

与服务器通信时强制使用 TLSv1.2 协议

force-tlsv13

与服务器通信时强制使用 TLSv1.3 协议

id <value>

设置 server 的 id,如果未设置则自动分配

inter <delay>
fastinter <delay>
downinter <delay>

inter 用于设置健康检查的间隔,默认为 2000毫秒;fastinter 和 downinter 用于根据服务器状态设置健康检查状态;
服务器状态为 "UP 100%" 时使用 inter
服务器状态为 "Transitionally UP" 或 "Transitionally DOWN" 或 未检测时,如果设置了 fastinter 则使用它,否则使用 inter
服务器状态为 "DOWN 100%" 时,如果设置了 downinter 则使用它,否则使用 inter

maxconn <maxconn>

设置发送到此服务器的最大并发连接数;默认为 0,表示无限制

maxqueue <maxqueue>

设置此服务器的缓冲连接队列的大小;默认为 0,表示无限制

minconn <minconn>

设置发送到此服务器的最小并发连接数

no-backup

设置服务器为非备用服务器

no-check

停用对服务器的健康检查

no-check-ssl

健康检查时禁用SSL

no-ssl

禁用 SSL

no-sslv3

与服务器通信时禁用 SSLv3 协议

no-tlsv10

与服务器通信时禁用 TLSv1.0 协议

no-tlsv11

与服务器通信时禁用 TLSv1.1 协议

no-tlsv12

与服务器通信时禁用 TLSv1.2 协议

no-tlsv13

与服务器通信时禁用 TLSv1.3 协议

no-verifyhost

不验证服务器主机名

on-error <mode>

在检测到足够连续的错误时,采取的操作

port <port>

使用不同的端口进行健康检查

rise <count>

健康检查连续成功一定次数后,服务器将被视为可用;默认为 2

source <addr>[:<pl>[-<ph>]] [usesrc { <addr2>[:<port2>] | client | clientip } ]
source <addr>[:<port>] [usesrc { <addr2>[:<port2>] | hdr_ip(<hdr>[,<occ>]) } ]
source <addr>[:<pl>[-<ph>]] [interface <name>] ...

设置哪些地址可以连接到服务器

ssl

连接服务器时启用 SSL

verify [none|required]

是否验证服务器证书

verifyhost <hostname>

验证服务器主机名,只有在指定了'verify required'时才生效

weight <weight>

设置服务器的权重,默认为 1

2.2、使用样例

server tomcat1 127.0.0.1:7070 cookie server1 weight 3 check inter 2000 rise 2 fall 3
server tomcat2 127.0.0.1:8080 cookie server2 weight 3 check inter 2000 rise 2 fall 3

 

 

参考:http://docs.haproxy.org/2.8/configuration.html#5。



举报

相关推荐

0 条评论