是否可以让HAProxy健康检查SSL /端口443端点? 下面的configuration中的check port 443未通过健康检查 下面的HAProxyconfiguration global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 50000 user haproxy group haproxy daemon # turn on stats unix socket stats socket /var/lib/haproxy/stats defaults mode tcp log global option dontlognull retries 3 timeout queue 1m timeout connect 10s timeout client 1m timeout server 1m timeout check 5s maxconn […]
新的亚马逊Opsworks服务使用haproxy,而不是亚马逊自己非常有限的弹性负载平衡器,所以我开始调查haproxy作为负载平衡我们的Web应用程序服务器,提供会话故障转移等更好的select。我得到haproxy工作顺利与一个haproxy服务器和几个Web应用服务器,但我想避免SPOF。 我的问题是,我是否需要在每个haproxy服务器上设置第二个NIC,可能具有相同的内部IP地址10.0.0.x? 由于分配一个外部地址(弹性IP)和转发stream量到内部IP是由亚马逊完成我不知道如何configuration这个。 我想我已经知道了,现在我正在testing – 在主服务器上使用主服务器的内部IP。
HAProxy似乎并没有保持与服务器的连接平衡。 记住这一点: 使用HAProxy v1.3.26 5个均衡的服务器规格 algorithm是循环法,但是对每个服务器都不应用权重 在haproxy中设置的全局最大连接数为80,000 如图所示,服务器C和D似乎正在获得比其他更多的连接。 由于这个额外的负载,他们不断下降,并自动重新启动。 我试着读HAproxy官方文档,并做了一些Googlesearch,但没有发现任何有用的东西。 希望这里有人能帮忙。 几个问题: 为什么当configuration说使用roundrobin,服务器规格是相同的,没有权重应用? 什么决定了“会话”列(即1970,1444等)中的“最大”子列。 服务器C,D,E在3K范围内,另外两个在2K以下。 为什么区别? 如何保持均衡? 有人可以解释每一列吗? 我很惊讶HAproxy的官方文档没有真正解释它。
我们的一个Web服务器集群提供了一个繁忙的电子商务应用程序的数量适中。 目前,每个站点都位于特定的Web服务器上,并且具有镜像到群集中另一个Web服务器的热备份副本。 如果服务器发生故障,则需要手动过程来重新激活故障切换服务器上的站点。 我们已经到了一个需要更好的解决scheme的地步,不仅仅是因为失败,而且也是为了让我们可以把机器停下来进行维护,而无需停机。 我们正在考虑build立一个2-3个HAProxy服务器集群(主要是因为它有一个很好的性能logging)放在Web服务器的前面。 从我读过的内容来看,它将满足我们对会话pipe理的大部分需求,并将用户保留在同一台服务器上等。我们最关心的是SSL证书。 每个站点都有自己的SSL证书。 由于最终用户将连接到HAProxy服务器,我只能假设我们需要将证书移动到HAProxy群集中的每台机器上。 由于HAProxy不直接处理SSL,我读过我们可以通过反向代理types转发安排在同一个系统上使用Apache + mod_ssl来完成这项工作。 那么,我的具体问题是HAProxy究竟是否适合这项工作? 现有的SSL证书(目前在Windows 2003 Server上,有几个是EV-SSL证书)是否可以移植到Apache? 是否还有其他软件或硬件解决scheme,我们应该考虑(使用HAProxy与SSL站点似乎比它需要更复杂)? 在设置高可用性SSL Web群集时我们可能没有考虑过其他任何警告?
我正在研究HAProxy作为F5的替代品。 F5能够根据响应头值持久化会话: when HTTP_RESPONSE { set session [HTTP::header X-Session] if {$session ne ""} { persist add uie $session } } 然后将包含相同会话ID的所有后续请求路由到同一台机器,例如: when HTTP_REQUEST { set session [findstr [HTTP::path] "/session/" 9 /] if {$session} { persist uie $session } } 我想知道这是甚至可以做HAProxy?
我想测量完整请求堆栈的时间。 中间件的New Relic捕获时间(例如java,python,ruby)和请求时间(请参阅https://newrelic.com/docs/features/tracking-front-end-time )。 为此,我需要将X-Request-Start头configuration为通过HAProxy负载平衡的请求。 haproxy.cfg应该如下所示: backend www balance roundrobin mode http reqadd "X-Request-Start" UNKNOWN_TIME_FUNCTION() server servername 192.168.0.1:80 weight 1 check 有一个haproxy原生函数来replaceUNKNOWN_TIME_FUNCTION() ?
有没有任何有助于根据后端服务器利用率修改后端服务器权重的实用工具? (例如用于LVS负载均衡的反馈)
我们在许多应用程序服务器上安装了3个Ruby on Rails应用程序(A,B和C)。 我们的前端是HAProxy,后端是Apache + Phusion Passenger。 最初我们在每个应用程序服务器上都安装了3个Rails应用程序,但是这种设置很慢,因为HAProxy“不知道”给定的Rails应用程序在给定的支持服务器上是否“热”。 每个乘客实例都configuration为运行多达8个Rails应用程序实例。 考虑以下情况(简化): 8个同时请求应用程序A进来,HAProxy将所有这些请求都分配给第一个应用程序服务器,因为其他请求与其他请求“非常繁忙”。 乘客在此服务器上启动应用程序A的8个实例。 另一个请求来自应用程序B,它也被分派到第一个应用程序服务器,因为其他应用程序服务器仍然太忙。 现在,乘客必须closures应用程序A的一个实例并创build应用程序B的一个实例。 在每分钟请求的TON大的情况下,所有3个Rails应用程序在每个应用程序服务器上经常启动和停止, 这是很慢的 。 在完美的世界应用程序启动一次,处理大量的请求,而不必closures和重新启动。 这就是为什么我们必须在3个Rails应用程序之间划分应用程序服务器: 应用程序A在13台服务器上运行 应用程序B在5台服务器上运行 App C运行在2台服务器上。 问题是:是否有一个负载均衡器软件“知道”后端,知道并使用以下信息来平衡负载: 每个后端服务器当前每个应用程序有多less个活动/热点实例? 目前有多less个实例正在处理请求? 目前每分钟/小时给定应用程序的平均请求数是多less? 是否需要“减less”一个申请,并“增加”另一个申请? 我们的想法是安装所有应用程序的“同类”(相同)应用程序服务器的数量,以便我们可以添加新的服务器来增加所有应用程序的总体容量,但给定应用程序的容量取决于“非常聪明“的负载平衡器,可以控制每个应用程序的容量,而不必经常启动和停止应用程序。
我目前在亚马逊ELB前使用Haproxy-1.6-dev2,并且遇到DNSparsing问题。 由于新的resolversfunction,我正在使用haproxy的dev版本,但是无法在不重新启动haproxy进程的情况下让Haproxy触发其服务器的内部IP地址列表更改。 亚马逊更新其ELB的IP地址,Haproxy继续使用旧的IP地址而不更新。 下面是一个简化的configuration文件。 global log 127.0.0.1 local0 stats socket /var/run/haproxy.sock defaults log global mode http option httpchk GET / option log-health-checks option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 resolvers dns nameserver public-0 xx.xx.xx.xx:53 hold valid 1s frontend http bind *:8000 default_backend site-backend backend site-backend balance leastconn server site sub.example.com:80 resolvers […]
我正尝试在CentOS 7中设置一个非常简单的HTTP负载均衡器和node.js后端。后端都是HTTP服务器。 如果我将后端设置为在端口80上侦听,并且HAProxy在端口80上侦听并在后端上使用端口80,则一切正常。 这是configuration文件在这样的configuration中的外观: global log 127.0.0.1 local2 info chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 256 user haproxy group haproxy daemon defaults mode http log global option httplog timeout connect 10s timeout client 30s timeout server 30s frontend http-in bind :80 default_backend backend_servers option forwardfor backend backend_servers balance roundrobin server backend1 10.0.4.51:80 check # server backend2 […]