Articles of haproxy

HA代理:省略特定URI的基本authentication

给定一个用户列表… userlist UsersAuth group admin users foo user foo insecure-password bar 而后端包含这个… acl AuthOkay_Web http_auth(UsersAuth) http-request auth realm AuthYourself if !isOptions !AuthOkay_Web 我如何指定一个或多个不需要基本身份validation的URI? 所以,给… https://example.com/a https://example.com/baz https://example.com/c https://example.com/d 假设我想/baz获得一个自由传球。 这是可行的吗?

如何通过另一个networking代理两个单独的networking?

如果这听起来有点新鲜,因为我对networking方面还是有点新的事情,所以提前道歉。 如果这个解决scheme能起作用,我想得到一个意见。 我有两个networkingAlpha&Gamma。 由于策略,两个networking不能直接连接。 但是我有一个需要和Gamma交谈的服务(两种方式)。 所以还有另外一个networking,Gamma信任的Beta,也可以从策略的angular度连接到Alpha。 所以我正在考虑只做一个简单的HAProxy,它将把stream量从Alpha中的一个IP路由到一个特定的Gamma中(反之亦然)。 一个VPN也可以使这个比特定IP更灵活,但是我只有特定的IP来连接(<10),而不是在hundreads。 除了一些自定义的TCP端口stream量之外,代理还可以处理HTTP(80)和HTTPS(443)stream量。 有没有更好的解决办法呢?

如何在HAProxy检测到故障时触发脚本

我正在使用两个HAProxy服务器和一些后面的节点。 我想让HAProxy在检测到任何节点故障时触发脚本。 我知道我可以让它放下电子邮件,但这不是我想要的。 那么有什么想法? 谢谢。

haproxy从前端规则中排除域

我正在使用HAProxy进行多个域的负载平衡和SSL终止。 现在我想排除一个SSL终止的域名。 我将如何做到这一点? 在这个例子中,我想排除jira.test.com从全球“前端”ssl crt规则/ frontend ft_ssl_vip mode http bind *:443 ssl crt /usr/local/etc/haproxy/certs/ no-sslv3 no-tls-tickets no-tlsv10 no-tlsv11 rspadd Strict-Transport-Security:\ max-age=15768000 use_backend testproxy_backend if { ssl_fc_sni testproxy.test.com } use_backend jira_backend if { ssl_fc_sni jira.test.com } backend testproxy_backend mode http server Proxy-Handler handler:80 check http-request add-header X-Forwarded-Proto https if { ssl_fc } backend jira_backend mode http […]

HAProxy rtime可以configuration吗?

我想监视haproxy http请求的rtime,但是它说rtime [..BS]:1024个最后请求的平均响应时间(以ms为单位)如果我每秒接收1024或1024个请求的两倍或三倍,如何监视这准确吗?

引入负载平衡器时,Apache插槽耗尽

我有一个Web应用程序,看起来像这样: WEB SERVER (PHP, Apache) -> MYSQL NODE 这个工作完全没有任何问题,并已经做了很长一段时间。 但是,当我引入一个负载平衡器(我已经使用HAProxy和ProxySQL,两者具有相同的结果行为)来pipe理对我的数据库集群的请求时,我遇到了Apache拖延的一些问题。 负载均衡器与apache一起安装在Web服务器上,并通过系统的环回设备访问。 明确地说,Web应用程序将数据库调用设置为127.0.0.1:3306 ,这是负载平衡器侦听的地方。 为了简化事情,这是我的新设置: [WEB SERVER (PHP, Apache) -> LOAD BALANCER] -> MYSQL NODE 当负荷变大时,这就是我所看到的: PROMPT~] apachectl status … … WWWWWWWWWWWWWWWWWRWWRRWWWWWWWWWWWWWRWRWWWWWWWWWWRWWWWWRWWWWWWWWR WWWWWWWWWWWWWWWWWWWWWWWWWWRWWRWWWWWWWWRWWWWWWWWWWCWWWWWRWWWWWWWW WWWWWWWWRWWWWRWRWWRRWWWCWWWRWWWWWWWWRWWWWWWWWWWWWWWRWWWRWWWWWWWW WWWWWWWWWWRWRWWCWWWWWWRRWRWWWWRCWWWWWWWWWWWRWWWWWWWRWRWWWW 多个负载平衡器发生这一事实表明,这个问题是更一般的,可能与操作系统有关。 我看不到由Apache,负载均衡器或数据库报告的错误。 操作系统指标,如CPU和内存看起来没问题。 在这个问题出现的时候,我确实看到了下面的情况: TCP套接字的数量 Apache进程的数量 我觉得我可能在这里错过了一些东西,并会感谢任何build议。 谢谢

HAProxy不透明redirect

我很难搞清楚如何做到这一点。 事实上,我已经做到了,所以知道这是可能的,但那是前一段时间。 我安装了HAProxy,并对三台后端服务器进行透明平衡。 问题是,它是透明的,我真的需要它只是redirect。 甚至不需要代理连接。 例: 请求是http://1.1.1.1/this/url.asp (这是HAPRoxy主机) redirect应该是我的后端服务器http://2.2.2.2/this/url.asp 它现在的工作方式是代理到2.2.2.2,但将URL保留为1.1.1.1。 我需要的URL是2.2.2.2。 关于如何更改URI有很多很好的信息,但是我不知道如何让HAProxyreplace后端IP的前端URL。

这是可能的Haproxy? 将新闻用户切换到不同的后端,但将当前用户保持在他们所在的位置

这里是场景:Proxy-> app1和app2 安装在roundrobin上 我们想要将新代码部署到APP2。 如何保持新的连接去APP2,同时保留人们去APP1。 所以当我们部署到APP2的时候,所有的新连接都只会去APP1。 我希望能够像在5PM一样,开始有新的连接去APP1,在半小时内,人们不再连接到APP2,我可以开始部署新的代码。 然后切换进程,以便我们可以部署到APP1。 我试过了:坚持dst 备用 cookie检查权重 我认为cookie检查权重将做到这一点,但是我将不得不重新启动haproxy

HAProxy,根据其替代名称select证书

我有一个域domain.com的通配符证书和一个子域列表,如: a.blue.domain.com b.blue.domain.com c.blue.domain.com a.green.domain.com b.green.domain.com c.green.domain.com 我使用两个不同的通配符证书副本,一个用于blue.domain.com ,一个用于green.domain.com 。 每个副本都包含三个子域a , b和c作为替代名称。 从我所能find和testing的内容来看,对不同域使用多个证书的标准方法是在同一个绑定指令中指定多个证书,例如: frontend secure bind *:443 ssl crt /etc/ssl/green.pem crt /etc/ssl/blue.pem 不幸的是,这似乎并不适用于我的情况,因为只有替代名称在证书之间改变。 那么有什么方法可以使用基于证书替代名称的正确证书吗?

为什么HAProxy返回503服务不可用,即使有些服务器可用?

HAProxy负载平衡器后面有10台服务器。 今天早上我更新并重新启动了只有一半的服务器 (5台服务器)。 其他服务器仍然function 。 我期望HAProxy发送请求到可用的服务器(它也有健康检查启用)。 但是HAProxy返回了大约503个错误 。 这怎么可能? 我可以改变一些configuration,以避免这种情况?