Articles of haproxy

神秘的HAProxy请求错误

我在前端代理服务器上看到了大量的请求错误(每秒几个),但我无法弄清楚是什么原因造成的。 我已经尝试在统计套接字上使用“显示错误”命令… echo "show errors" | socat unix-connect:/var/run/haproxy.stat stdio 但是这没有任何回报。 debugging日志logging也不给我任何提示。 还有其他地方我应该看? 编辑:只是为了澄清,本身没有“错误信息”(虽然它肯定会有帮助)。 我只是在Web界面和socat输出中查看标记为“请求错误”的计数器,并试图找出是什么增加了它。

让HAProxy与Apache协同工作

我拥有一个运行几个网站的VPS。 我的一个网站需要使用Mavin for CometD,但是我仍然不得不让Apache运行其他网站。 为此,我正在使用HAProxy。 我把Apache移动到了80端口,并configurationHAProxy在那里运行。 HAProxy将适当的东西路由到Apache是​​一个很好的工作,但Apache给我“默认网站页面”,而不是适当的VirtualHost。 我怎样才能解决这个问题? 从我的Apacheconfiguration一点点: <VirtualHost 64.64.0.102:80> ServerName example.com ServerAlias www.example.com DocumentRoot /homeexample/public_html/hg ServerAdmin [email protected] <IfModule mod_userdir.c> Userdir disabled Userdir enabled isbwmp </IfModule> <IfModule mod_suphp.c> suPHP_UserGroup isbwmp isbwmp </IfModule> <IfModule !mod_disable_suexec.c> SuexecUserGroup isbwmp isbwmp </IfModule> CustomLog /usr/local/apache/domlogs/example.com-bytes_log "%{%s}t %I .\n%{%s}t %O ." CustomLog /usr/local/apache/domlogs/example.com combined ScriptAlias /cgi-bin/ /home/isbwmp/public_html/cgi-bin/ 还有一点从我的HAProxyconfiguration:(复制,我不明白,真的) frontend http_proxy […]

使用HAproxy在同一台服务器上负载平衡多个站点(虚拟主机)

是否可以使用HAproxy来负载均衡同一服务器上的多个站点? 我们已经为一个站点configuration了负载平衡,现在我们要在同一台服务器上添加另一个站点。 如果可能,请帮助我一些例子。 谢谢, Santhosh

HAproxyconfiguration文件重新绑定

HAproxy是否有可能在运行时重新加载其configuration,而不会丢弃现有的连接? 我在文件中看到了一些提到这一点,但一直不成功。 有人知道吗? 谢谢。

与stunnel和haproxy一起使用虚拟IP

我们有一个负载平衡器的设置,其中一个HTTPS请求stream经以下步骤: Client -> DNS -> stunnel on Load-Balancer -> HAProxy on LB -> Web-Server 当stunnel正在监听负载均衡器的本地IP时,此设置完美工作。 然而,在我们的设置中,我们有2个负载均衡器,我们希望能够监听一个虚拟IP,这个虚拟IP一次只能在一个LB上存在(keepalived将IP翻转到第二个LB,如果第一个丢弃的话)。 HAProxy在这样做没有问题(我可以ping所分配的虚拟IP在我正在testing的负载平衡器上),但似乎stunnel恨这个概念。 有没有人以前做过这个(下面是我的stunnelconfiguration – 正如你可以看到我实际上听所有443stream量): – cert= /etc/ssl/certs/mycert.crt key = /etc/ssl/certs/mykey.key ;setuid = nobody ;setgid = nogroup pid = /etc/stunnel/stunnel.pid debug = 3 output = /etc/stunnel/stunnel.log socket=l:TCP_NODELAY=1 socket=r:TCP_NODELAY=1 [https] accept=443 connect=127.0.0.1:8443 TIMEOUTclose=0 xforwardedfor=yes 对于冗长的问题抱歉!

stunnel + HAProxy + Apache问题,多个站点证书

目前我正在使用以下scheme来同时提供静态和dynamic内容。 我用X-Forwarded-For支持补丁编译了stunnel。 Internet(http) – > haproxy(frontend1) – > Apache Farm Internet(https) – > stunnel – > haproxy(frontend2) – > Apache Farm Stunnel被configuration为使用来自xxxx.com的证书。 可以添加对stunnel的支持来与其他证书一起服务吗? cert = /etc/stunnel/group.cert key = /etc/stunnel/private.key verify = 0 debug = local0.debug CAfile = /etc/stunnel/group.cert chroot = /var/run/stunnel4/chroot setuid = stunnel4 setgid = stunnel4 failover = prio xforwardedfor = yes TIMEOUTclose=0 socket=l:TCP_NODELAY=1 […]

OpenSource(第4层)负载均衡器,可以通过原来的客户端IP?

我正在为所有请求设置一个使用SSL的Web应用程序。 它需要有扩展的空间,也是高度可用的。 似乎“推荐”的处理方法是为HA设置一对第4层负载均衡器,它们通过服务器场进行SSL解密,然后转到第7层负载均衡器的场,然后最后到networking服务器。 (见: http : //1wt.eu/articles/2006_lb/index_09.html ) 过去我使用过HAProxy,所以我尝试了一下这样的设置。 基本上我有HAProxy in TCP mode => STunnel => HAProxy in HTTP mode => Apache 。 当我这样做时,可用于apache的客户端IP是第二个HAProxy服务器的IP。 我可以通过让STunnel添加一个X-Forwarded-For头来稍微改进,但是只给了我第一个HAProxy服务器的IP地址。 我无法find让Apache知道原始客户端IP地址的方法。 根据我读过的文档,我不认为HAProxy能够在tcp模式下通过原始客户端的IP地址。 那是对的吗? 如果是这样,是否有任何开源软件负载平衡器可以做到这一点? 如果没有,是否有任何商业/硬件负载平衡器可以? 我想我也应该注意到,这个负载均衡器并不严格地需要成为第4层负载均衡器。 我只需要能够通过SSLstream量到STunnel(或任何我最终使用的SSL解密)。 作为一个侧面说明,我试图设置它没有第4层负载平衡器(即STunnel是链的第一部分)。 这解决了客户端IP问题。 但是,正如上面的文章所预测的,STunnel是瓶颈。 它开始丢失每秒500到600个请求的请求。 而且,当然,这不能通过增加更多的框来扩展(同时维护HA)。 根据我给出的要求,这个应用程序应该能够处理每秒1000-5000个请求的峰值stream量。

在tcp模式下haproxy forwardfor忽略

我有一个haproxy设置为https,因此我必须启用模式:TCP,但事实certificate,因为forwardfor被忽略,我看不到原来的IP。 有没有办法绕过它? haproxy版本:1.4.9 欢呼声,/ Marcin

nginx和haproxy,它们是否共享类似的负载均衡angular色?

我对nginx有点困惑,它可以像haproxy一样充当代理吗? 即有人连接到我的域,haproxy坐在那里,然后它将来自端口80的stream量路由到运行在不同端口上的Web服务器,以循环方式进行。 nginx可以执行相同的function吗?

Ubuntu 10.04上的HAProxy perl插件和Net-SNMPd

我正试图通过SNMP监视HAProxy状态。 有一个haproxy.pl文件用于NetSNMP,我已经根据/usr/share/doc/haproxy/contrib/netsnmp-perl/README.gz在snmpd.conf中设置了这个文件。 snmpd.conf附有两行代码: disablePerl false perl do '/etc/snmp/haproxy.pl'; 这应该已经做了,但查询适当的OID只是给: denis@nagios:~# snmpbulkwalk -c public -v2c 192.168.1.102 1.3.6.1.4.1.29385.106 SNMPv2-SMI::enterprises.29385.106 = No Such Object available on this agent at this OID 我在网上做了一个研究,似乎有一些关于Ubuntu的net-snmp没有用–enable-embedded-perl选项编译的问题。 我已经使用net-snmp-config –configure-options检查了这个net-snmp-config –configure-options并且没有提到embedded式perl选项,这意味着默认情况下根据INSTALL文档启用embedded式perl支持。 此外,我得到的错误embedded perl support failed to initalize (显然意味着我失去了一个先决条件的模块 ),直到我已经安装libsnmp-dev – embeddedperl支持编译的另一个线索。 networkingSNMP现在重新启动相当好,没有错误,但我没有运气在查询HAProxy OID。 我的日志只是显示类似的条目 Connection from UDP: [192.168.1.111]:34391->[192.168.1.102] 任何想法不胜感激。 而且,如果有人在Ubuntu上运行了一些perl-agent安装程序,我很乐意听到configuration细节。