Articles of haproxy

haproxy在Apache前面用SSL进行本地开发

我在一个Web应用程序上工作,该应用程序定期对通过相同域访问的REST服务器(在生产中)进行AJAX调用。 在本地开发的过程中,我一直使用haproxy将REST调用redirect到dev服务器,以避开浏览器跨源请求限制。 haproxy.cfg global maxconn 4096 pidfile ~/tmp/haproxy.pid defaults log global log 127.0.0.1 local0 log 127.0.0.1 local1 notice mode http timeout connect 300000 timeout client 300000 timeout server 300000 maxconn 2000 option redispatch retries 3 option httpclose option httplog option forwardfor option httpchk HEAD / HTTP/1.0 frontend dev bind *:8080 ssl crt /path/to/proxy.pem acl allow_php […]

使用haproxy捕获并转发扩展的PKI证书属性(例如UPN)

我试图拉相互authenticationscheme中的客户端证书属性,并将其设置为后端请求中的HTTP标头。 见下面的fig 1 。 图。1 [用户证书正确] | | 1.提供具有正常v1属性的证书 | 有额外的“扩展”属性 | 含。 包含“主题名称” | “用户主要名称”(UPN看起来像一个电子邮件地址) | [example.com:443 haproxy] –app1 / app2 CNAMEd到example.com | | 2.阅读主题备用名称 | 3.正则expression式或parsing出UPN | 4.将REMOTE_USER头设置为UPN | 5.传递给后端(S) | ┌——————┬ | | | | | | | | VV [app1svr:80] [app2svr:80] 通常,这很容易,你只需要使用内置的function就可以得到你想要的属性: 前端https 绑定*:443名称https ssl crt ./server.pem ca-file ./ca.crtvalidation必需 http-request set-header […]

haproxy为什么忽略后端的ssl关键字?

我试图在LB和服务器之间安装带有SSL的后端服务器(172.16.12.34在标准端口上托pipehttp和https) backend test balance source option httpchk default-server fastinter 7000 inter 500 fall 2 server server1 172.16.12.34:443 check server server2 172.16.12.34:443 check ssl server server3 172.16.12.34:80 check server server4 172.16.12.34:80 check ssl 并在统计中得到以下意外输出 Status LastChk server1 4m2s DOWN * L7TOUT in 500ms server2 4m2s DOWN * L7TOUT in 501ms server3 4m4s UP L7OK/200 in 2ms […]

关于域名和上下文名称的HA代理ACL

我有来自不同url的请求 https://example1.com/context1 https://example1.com/context2 https://example2.com/context1 https://example2.com/context2 可能有多个具有多个上下文名称的域。 想要在HA代理中进行configuration并redirect到微粒backend 。 我可以在单行中使用域名和上下文名称,或者我们可以在HAProxy frontend嵌套acl吗?

如何configurationHAProxy作为反向代理?

我有多个Web服务器,托pipe多个域。 偶尔,我需要将一个域名从一个networking服务器移到另一个。 而不是必须更新域指向新的服务器位置的DNS,我想设置所有域指向一个反向代理(?),然后将Web请求传递到正确的服务器。 我正在尝试使用haproxy来实现这一点,没有太多的成功。 举个例子: 有两个服务器,web1.foo.com和web2.foo.com。 web1为abc.com和def.com服务网站。 web2为cba.com和fed.com提供网站服务。 还有一个代理服务器proxy.foo.com。 abc.com的dns等指向proxy.foo.com,它被configuration为将域映射到服务器,如下所示: abc.com – > web1.foo.com def.com – > web1.foo.com cba.com – > web2.foo.com fed.com – > web2.foo.com 问题是,我不能得到它使用haproxy工作…它试图负载平衡,而不是反向代理…如果我去abc.com,它将循环之间的web1和web2。 所以,我想我想知道,这是甚至可能与haproxy,如果是的话,我在哪里出错的configuration? 我的configuration如下所示: global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon # […]

Haproxy http响应超时检查

我们使用haproxy作为http负载均衡器。 有时我们的一台服务器在接受http连接请求时停止响应。 所以统计页面显示服务器为绿色“可访问”,但我们的nagios服务器说:“CRITICAL – 20秒后套接字超时”,该服务器实际上没有响应。 如何告诉haproxy检查页面响应时间,如果需要比超时更长的时间,则将其标记为DOWN。

Openshift + HAproxy 503自定义页面

我正在使用503 HTTP状态,即将进入维护模式页面。 有没有办法让HAproxy服务器端生成的503页面,而不是默认的空白/不可用页面? 我正在使用Openshift + HAproxy + Cloudflare + PHP。 提前致谢。 Haproxyconfiguration(一些评论删除): #——————————————————————— # Global settings #——————————————————————— global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 4000 user haproxy group haproxy daemon # turn on stats unix socket stats socket /var/lib/haproxy/stats #——————————————————————— # common defaults that all the 'listen' and 'backend' sections will # use […]

当后端join时,Haproxy性能下降

我们正在testinghaproxy的性能。 它安装在具有40个核心和256个RAM的物理机器上。 OS是Centos 7。 在这期间,我们注意到一个奇怪的事情 – 我们添加的后端节点越多,性能就越差。 1 backend 2 backends 3 backends 133k req/s 82k req/s 52k req/s 直接调用单一的后端没有haproxy给我们386k reqs/sec testing是在HTTP模式下完成的。 在TCP模式下我们没有这种退化。 有人知道什么可以解释这样的结果吗? PS。 configuration文件示例: global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 200000 user haproxy group haproxy daemon defaults timeout connect 5000 timeout client 5000 timeout server 5000 timeout client-fin 1s timeout […]

haproxy粘滞会话与1后端,但多个ACL

我有两个子域名“www.example.com”和“something.example.com”,但在haproxyconfiguration他们使用相同的后端,具有相同的cookie设置。 如果我留在一个,我可以通过cookie来validation我在哪个服务器上仍然是“粘性”,但是当我移动到另一个时,iIseem然后失去我的粘性,然后最终在1台服务器或另一台 这里是我目前的设置:ACL: acl acl_website hdr(Host) www.example.com acl acl_something hdr(Host) something.example.com 然后在这里我告诉haproxy为两个使用相同的后端 use_backend website_farm if acl_website use_backend website_farm if acl_something 然后是具有cookie信息的后端: backend website_farm balance roundrobin cookie qa-aspc insert indirect option httpchk HEAD /heartbeat.php HTTP/1.0 http-check disable-on-404 option redispatch server web01 web01.example.com:80 cookie 01 check fall 2 inter 2000 fastinter 1000 server web02 web02.example.com:80 cookie 02 […]

负载平衡负载平衡器(HAProxy)

我正在尝试负载平衡负载平衡器(HAProxy)。 这意味着我想创build一个负载平衡器集群/农场。 农场将使用不同的绑定/规则来根据规则将不同的请求负载均衡分配给具有不同目的的其他几个集群。 我似乎无法find关于这个主题的更多信息,我发现只有2个实例的主动 – 被动设置…我需要计划其中的许多,而不仅仅是2.然后我来到这个职位: http:// www.serverphorums.com/read.php?10,672865 其中提到: HAProxy可以共享1.5的连接表,这真的是一个赞赏的function:) 我打算使用具有负载均衡function的防火墙(Fortinet)来平衡对活动HAProxy实例的请求,然后相应地负载平衡请求。 那么有没有一种方法可以在实例之间共享连接表,以便我可以实现HAProxy本身的真正主动/主动负载平衡? 有没有更好的办法?