我已经设置了两个专用的haproxy服务器来分散三个应用程序服务器上的负载。 我已经build立了常规的http 80平衡,也是一个特殊的使用websockets。 它工作了大约2个小时,但之后,它变得非常缓慢,页面加载大约30秒。 当我重新启动haproxy这是很好的。 下面是我的conf。 任何想法可能造成这个? global user haproxy group haproxy defaults mode http timeout connect 5s timeout client 5s timeout server 60s stats enable stats auth aa:bb frontend proxy # listen on 80 bind 0.0.0.0:80 # allow for many connections, with long timeout maxconn 200000 # total maximum connections, check ulimit as well […]
我有一个设置,HTTP(S)stream量从HAProxy到nginx。 HAProxy nginx HTTP —–> :80 —-> :9080 HTTPS —-> :443 —-> :9443 我遇到了从https到http的尾随斜杠导致的隐式redirect问题,如下所示: $ curl -k -I https://www.example.com/subdir HTTP/1.1 301 Moved Permanently Server: nginx/1.2.4 Date: Thu, 04 Oct 2012 12:52:39 GMT Content-Type: text/html Content-Length: 184 Location: http://www.example.com/subdir/ 显然,HAProxy是作为SSL解包程序工作的,而nginx只能看到http请求。 我已经尝试在HAProxyconfiguration上设置X-Forwarded-Proto来https,但是它什么都不做。 我的nginx设置如下: server { listen 127.0.0.1:9443; server_name www.example.com; port_in_redirect off; root /var/www/example; index index.html index.htm; } […]
我们正在设置HAProxy来平衡我们的应用程序(在IIS上运行的ASP.NET MVC 3)。 我们希望我们的stream程不需要定期维护以进行部署。 我试图找出正确的方法来做一个“跷跷板”的方法,只在一次为新的请求提供一个版本的应用程序。 以下是我到目前为止所做的: 通过重新加载configuration从HAProxy删除前半部分的服务器: $ sed -i 's/web01.*/& disabled/' /etc/haproxy/haproxy.cfg $ sed -i 's/web02.*/& disabled/' /etc/haproxy/haproxy.cfg $ /etc/init.d/haproxy reload 更新每个向下实例的应用程序,并用curl戳它们来加热它们。 把上半场带回去,把下半场拿下来: $ sed -i 's/\(web01.*\) disabled$/\1/' /etc/haproxy/haproxy.cfg $ sed -i 's/\(web02.*\) disabled$/\1/' /etc/haproxy/haproxy.cfg $ sed -i 's/web03.*/& disabled/' /etc/haproxy/haproxy.cfg $ sed -i 's/web04.*/& disabled/' /etc/haproxy/haproxy.cfg $ /etc/init.d/haproxy reload 下半场重复第2步。 带回下半场 : $ […]
我有一个HAproxy服务器(前端)和多个Web服务器(后端)的设置。 是否可以configurationHAproxy,以便在Web服务器出现故障时执行脚本?
我有许多来自单个IP的请求,这些请求是以基本身份validation格式在HTTP头中提供的凭据。 即使来源相同,凭据在请求中也会频繁变化。 这是一个从内存caching中获得很多好处的API。 然而,为了使这个caching起作用,我需要能够将具有一组特定凭证的请求路由到同一台机器上。 这意味着我需要提出一个路由解决scheme,以某种方式将特定凭证“粘”到单台计算机上一段时间(30分钟),同时还以循环方式分发尚未附加的凭证。 这是可能的HAProxy?
我有我想用来帮助确定正确的行动采取与HAProxy的IP地址列表的文本文件。 所以如果HAProxy像这样加载白名单。 acl whitelist src -f /path/to/ips.list 如果ips.list被修改,HAProxy会自动重新加载它 – 所以我可以dynamic修改IP列表?
我正在使用HAProxy在3个物理节点上build立一个testing集群 – Maria Galera集群。 它的工作,但我已经做了一些初学者的错误,我似乎无法解决 – 所以希望有人可以投下专家的眼睛,帮助我吗?! 我有3个物理节点Node1:10.1.1.120 节点2:10.1.1.121 节点3:10.1.1.124 使用HAProxy 10.1.1.113的虚拟IP 正在运行,当我通过虚拟IP查询时,我得到… $ mysql -uroot -pPassword -P 3306 -h 10.1.1.113 -e "select @@hostname; show processlist;" +————+ | @@hostname | +————+ | node2 | +————+ +—-+————-+————-+——+———+——+——————–+——————+———-+ | Id | User | Host | db | Command | Time | State | Info | Progress | […]
我正在努力衡量两个不同的负载平衡器(英镑和haproxy),但不确定如何做到这一点。 可以使用httperf,但是由于速率非常高,实际上使负载平衡器崩溃在技术上可能是困难的。 我怎么能考虑可以观察到的其他variables,这可能表明哪个variables在更加紧张的情况下更强大
我在多主设置中设置了3个MariaDB服务器的集群,工作正常。 我为HaProxy添加了第四台服务器来进行负载平衡和轮询,这样我们可以有一点冗余,这也是可行的,除了1个问题。 我login到运行以下查询的HaProxy服务器上的MySQL客户端: show variables like 'server_id'; 我得到的结果,但如果我等待5秒或更多的时间,再次运行查询,我得到以下错误: ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect… Connection id: 52 Current database: *** NONE *** 之后,我得到的结果与不同的server_id,这表明负载平衡正在工作。 这是造成的问题是,当我尝试从我的Spring / Java应用程序连接,我可以运行查询短时间内的连接下降。 我想我是否可以在HaProxy服务器上解决这个问题,这将解决我遇到的其他问题。 编辑:添加HAPROXY.CFG global log 127.0.0.1 local0 notice chroot /var/lib/haproxy pidfile /var/run/haproxy.pid user haproxy group haproxy maxconn 4096 daemon defaults log global retries […]
我有一个Haproxy实例,使用http-request set-header Host头重写为内部http-request set-header 。 http-request set-header Host internal.example 不过,我仍然希望后端可以访问原始的Host头。 我认为X-Forwarded-Host是一个很好的select,但是我正在努力想办法做到这一点。 我正在使用这个工作: capture request header Host len 64 http-request set-header X-Forwarded-Host %hrl 但当然这是一个巨大的黑客 – 不会超过64个字符的工作,如果我需要捕获另一个头,将无法正常工作。 有没有更好的办法?