我使用 HAProxy 作为负载均衡器,在后端我有 4 个 Web 服务器。我是 HAPrxoy 的新手,不知道如何找出 HAProxy 上的并发连接。
提前致谢。
我有 haproxy 做 ssl 终止。我已禁用 sslv3。
ssl 测试人员说我只启用了 tls 1.0。如何在 haproxy 中启用 tls 1.2 版?
谢谢
我使用的是 HAProxy 版本 1.6。
我将如何修改配置以重定向来自 localhost:8081/myapp 的请求
至:本地主机:8111/myapp
谢谢!
我知道从 1.6.0 版开始可以使用 HAProxy 记录 POST 请求的 BODY。以下邮件存档表明我们需要以某种方式使用 req.body 并以日志格式记录 capture.req.hdr。
在上面的链接中询问的人在他们的配置中有以下前端:
frontend www-http
bind 0.0.0.0:9000
option http-buffer-request
declare capture request len 400000
http-request capture req.body id 0
log-format {"%[capture.req.hdr(0)]"}
Run Code Online (Sandbox Code Playgroud)
但据推测这是错误的,因此他们的问题。
执行此操作的确切语法是什么?
我正在处理一项需要配置和验证 prometheus 警报管理器的任务。当 mesos 进程和 HAProxy 进程关闭时,用户应该收到警报,我试图在互联网上找到这些警报规则,但没有找到合适的。谁能告诉我如何为这些编写警报规则。基本上需要条件条款。
我需要嵌套的 ACL 条件
acl route1 hdr_sub(host) -i abc.com hdr_sub(host) -i xyz.com
acl route2 path_beg /m1
acl route3 path_beg /m2
use backend back1 if route1 (route2 or route3)
// essentially
route1 AND (route2 OR route3)
Run Code Online (Sandbox Code Playgroud)
匹配后端。与此等效的正确 HA 代码是什么?
有没有办法使用use_backendACL 匹配,但是,如果后端不可用(停机、维护等),则使用默认值?
例如:
# Define hosts
acl host_bacon hdr(host) -i ilovebacon.com
acl host_milkshakes hdr(host) -i bobsmilkshakes.com
## figure out which one to use
use_backend bacon_cluster if host_bacon
use_backend milshake_cluster if host_milkshakes
default_backend web-app-cluster
Run Code Online (Sandbox Code Playgroud)
在上述情况下,如果培根和奶昔后端没有可用的服务器,是否会使用 web-app-cluster?
谢谢
在这里寻求帮助!
我正在运行 Jenkins(v2.134) 作为由 Rancher(v1.6.16) 管理的 docker 容器;我使用 haproxy(HA-Proxy version 1.6.3 2015/12/25)作为我的负载均衡器。Jenkins JNLP 端口配置为 50000。haproxy 得到了 TCP 端口转发的规则(8081 > 50000)
我的奴隶 (macmini) 在不同的网络和防火墙后面(这个网络可以到达我的 Jenkins Infra)。我正在使用“隧道连接通过”属性和指定的端口“:8081”。8081 端口已经在防火墙中打开了。
我的 Jenkins Java 版本是 -
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-1~deb9u1-b12)
Run Code Online (Sandbox Code Playgroud)
我的 Slave Java 版本是 -
Sun JDK "1.8.0_151"
Run Code Online (Sandbox Code Playgroud)
这是代理日志-
*INFO: Setting up agent: my-slave-01*
Sep 26, 2018 2:48:50 PM hudson.remoting.jnlp.Main$CuiListener <init>
INFO: Jenkins agent is running in headless mode.
Sep 26, 2018 2:48:50 PM hudson.remoting.Engine startEngine
INFO: Using Remoting version: 3.23 …Run Code Online (Sandbox Code Playgroud) 基本上就是标题。我正在努力将现有的 haproxy 从 1.5 升级到最新版本。因此,我正在设置一个测试用例,以确保我们的旧设置可以正常工作。但是,当我尝试运行它时,出现以下错误:
[NOTICE] (28948) : haproxy version is 2.4.1-1ce7d49
[NOTICE] (28948) : path to executable is /home/user/test/usr/local/sbin/haproxy
[ALERT] (28948) : parsing [test.cfg:22]: Missing LF on last line, file might have been truncated at position 68.
[ALERT] (28948) : Error(s) found in configuration file : test.cfg
[ALERT] (28948) : Fatal errors found in configuration.
Run Code Online (Sandbox Code Playgroud)
我尝试查找它,但找不到任何有关错误的信息。我已经检查过我的配置文件,它使用的是正确的 Unix 格式。另外,我的测试配置适用于旧版本的 HAProxy。
global
stats timeout 30s
user root
group root
defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000 …Run Code Online (Sandbox Code Playgroud) 我想使用HAProxy作为负载均衡器.我想把两个rabbitmq服务器放在haproxy后面.rabbitmq服务器都在EC2的不同实例上.我按照此引用配置了HAProxy服务器.我的工作但问题是消息不以roundrobin模式发布.消息仅在一台服务器上发布.我的要求有不同的配置吗?
我在/etc/haproxy/haproxy.cfg中的配置
listen rabbitmq 0.0.0.0:5672
mode tcp
stats enable
balance roundrobin
option tcplog
no option clitcpka
no option srvtcpka
server rabbit01 46.XX.XX.XX:5672 check
server rabbit02 176.XX.XX.XX:5672 check
listen web-service *:80
mode http
balance roundrobin
option httpchk HEAD / HTTP/1.0
option httpclose
option forwardfor
option httpchk OPTIONS /health_check.html
stats enable
stats refresh 10s
stats hide-version
stats scope .
stats uri /lb?stats
stats realm LB2\ Statistics
stats auth admin:Adm1nn
Run Code Online (Sandbox Code Playgroud)
更新:
我对此进行了一些研发,发现HAProxy是在rabbitmq服务器上进行循环连接.例如:如果我请求10个连接,那么它将在我的2个rabbitmq服务器上循环10个连接并发布消息.
但问题是我想要循环消息,而不是它应该由HAProxy服务器管理的连接.即如果我一次向HAProxy发送1000 msg,那么500 msg应该转到兔子服务器1,500 msg应该转到兔子服务器2.我必须遵循的配置是什么?
更新:
我还测试了lessconn的平衡,但HAProxy的行为是出乎意料的.我在serverfault.com上发布了这个问题