Articles of haproxy

configuration带有故障转移的memcache的HAProxy

我正在为现有的Wordpress网站configuration一套新的服务器,并且要求memcache可用并且更具弹性。 build议的想法是让HAProxy向两台服务器中的一台发送请求; 如果该memcache实例不可访问,那么它应该切换到第二个,但不应该切换回第一个,如果它回来,除非第二个不可用。 这似乎并不是一个特别常见的用例,除了可能设置具有巨大上升值的第一个节点之外,我没有发现太多的内容,例如: server server1 10.112.58.16:11211 check inter 5s fall 3 rise 99999999 server server2 10.112.58.19:11211 check backup 当服务器1不可用时,如预期的那样下降。 即使server2离线,它也不会回退到server1。 可以这样做吗?

可能为HAProxy执行混合的SSL终止和传递?

我正在分析应用程序中的间歇性负载平衡失败。 以前,我们一直在使用以下configuration中的AWS Elastic Load Balancer: HTTP 80 -> HTTP 80 HTTPS 443 -> HTTPS 443, presenting the same certificate as the backend IIS servers are 现在我们意识到这是一个发脾气的设置(LB和IIS服务器做同样的encryption……浪费了工作),现在开始给我们带来一些问题。 具体来说,我们会间歇性地看到ELB请求的延迟时间,完整的60秒(默认超时),然后向客户端报告一个错误。 我们花了很多时间来确认延迟峰值与应用程序中的处理延迟无关。 如前所述,我们现在认识到这个设置很奇怪。 例如,ELB更自然的configuration工作得很好: HTTP 80 -> HTTP 80 TCP 443 -> TCP 443, straight passthrough, all encryption happening on the IIS backend 缩小了一会儿,我们很好奇,如果我们可以重现在HAProxy的坏configuration间歇性故障。 这是HAProxy做SSL终止,然后启动另一个完整的SSL连接到后端服务器。 我们再一次意识到这是愚蠢的,但是正在研究比较ELB和HAProxy的黑盒子。 这是我尝试的简单configuration: frontend https_frontend […]

HAProxy从terminal没有统计

我有安装在CentOs6.4 x64上的haproxy,但我需要用命令haproxy -s从terminal看到统计信息 男人档案说 -s Show statistics (only if compiled in). Statistics are only available if compiled in with the 'STATTIME' option. It's only used during code optimization phases, and will soon disappear. 用yum删除当前的版本,并用源代码编译 make TARGET=linux2628 USE_EPOLL=1 USE_OPENSSL=1 STATTIME=1 ARCH=x86_64 && make install 一切工作正常,HAProxy正在工作,但-s选项仍然无法正常工作 任何想法为什么会发生

使用代理服务器将MySQLstream量redirect到使用标准端口的多个服务器?

是否有可能根据域名redirectMySQL(tcp)stream量到多个服务器? 我们的DNS设置为将多个子域别名指向一台代理机器。 (运行haproxy和iptables)。 我们希望通过这个代理服务器redirect所有数据库stream量,并将其路由到合适的数据库服务器,而不会偏离标准的MySQL端口。 dev.domain1.com:3306 – > dbDevServer.domain1.com:3306 test.domain1.com:3306 – > dbTestServer.domain1.com:3306 prod.domain1.com:3306 – > dbProdServer.domain1.com:3306 谢谢!

在HAProxy集群中部署更改的最佳方法

我有一个带有Keepalived的双节点HAProxy集群来提供高可用性和冗余。 现在我试图找出在HAProxy的configuration中进行更改的最佳方式。 两个群集之间的rsync足够了吗? (也有一个命令来重新加载从站上的configuration)。 有没有更好的办法? 谢谢!

HAProxy在多层系统上

我需要在我们的系统中调查HAProxy的使用。 我们有一个主服务器运行一些服务(types的代理),这个服务器与其他服务器对话,每个服务器在低一层运行一个不同的服务。 在较低层的这些服务可能需要在这个层上说出其他人。 我们想把HAProxy放在主服务器的前面,但是我们也需要下层的服务器/服务作为HA的好处。 这是可能的,和/或共同的?

当后端失败时,Haproxy粘滞会话不会redirect到不同的服务器

我有我的haproxy LB的以下configuration: global daemon maxconn 2048 # SSL ca-base /etc/ssl/certs crt-base /etc/ssl/private ssl-default-bind-ciphers ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM; defaults log global mode http option forwardfor # handle incoming requests to port 80 (http) frontend www-http bind 1.2.3.4:80 reqadd X-Forwarded-Proto:\ http default_backend www-backend # handle incoming requests to port 443 (https) frontend www-https bind 1.2.3.4:443 ssl crt /etc/ssl/private/example.com.pem reqadd X-Forwarded-Proto:\ […]

haproxy:检查单个标题

我的服务器通过4个本地websocket服务器分发websocket客户端连接。 是否可以指示haProxy只接受WebSocket版本13(RFC 6455)? 即validation是否设置了Sec-WebSocket-Version: 13

HAproxy 1.5可信CA

我试图让HAproxy 1.5.x信任已经在机器的信任存储区( /etc/ssl/certs )中的任何证书颁发机构,而不必明确指定单个的ca-file根授权证书被信任。 我想避免给定的后端服务器使用由不同权威机构颁发的证书的情况,并且由于后端服务器不再受信任而导致中断 – 尽pipeCA在机器信任存储器中。 在haproxy.cfg文件的给定backend部分中, server行有一个名为ca-file的选项。 此选项指示HAproxy使用所提供的权限validation后端服务器证书的权限。 麻烦的是,这指向一个单一的CA. 我find了ca-base选项。 除非我错了,否则这只是避免在每个声明中指定ca-file的完整path的捷径。

Proxy over Redis,HAProxy或twemproxy?

隐藏主/从redis服务器切换的最佳方法是使用主服务器上的代理。 在代理候选人中,有两个更重要的(和使用的)select: twemproxy和haproxy(> = 1.5) 如果我们对某些twemproxy特性(比如分片)不感兴趣(并且只对proxing工作感兴趣),哪一个更好(为什么?)