Articles of haproxy

用2台服务器创build一个冗余环境(所以没有第三个服务器来处理负载平衡)

首先,如果之前已经回答了这个问题,我很抱歉,但我一直在寻找一段时间,似乎无法find(或理解)一个答案。 所以,我有两个物理服务器和centOS。 其中1个已经托pipe了一些网站和数据库。 现在我想通过使用故障转移的负载平衡来创build冗余环境。 所以基本上,我想让两台服务器都运行,通过当时打开的连接来分割工作,当其中一台崩溃时让另一台服务器接pipe所有工作。 我遇到的每个例子都有2个web服务器前面的haproxy的第三台服务器。 但只有2台服务器(例如在两个Web服务器上安装haproxy)是可能的吗? 还是有更好的方法来处理这个问题? 提前致谢。

haproxy有多less个listen指令(模式tcp)?

在单个节点上haproxyconfiguration有多less个listen指令是多less? 什么是最重要的资源来监测? 是50倍 listen qwerty213 bind *:9124 mode tcp option tcplog balance leastconn server zxcv 10.20.0.13:31527 check inter 3000 […] 太多? 还是100? (每个人也有几个后端服务器) 由于拥有大量连接到后端服务器的开放本地端口,haproxy的性能会有所下降吗?

如何使用haproxy加载后端1只有当backend2死了?

经过大量的search,我不能find一个非常简单的方法来使用后端服务器2,当只有后端1死了 。 这是我目前的configuration: frontend www bind *:80 reqadd X-Forwarded-Proto:\ http default_backend varnish-1 backend varnish-1 mode http stats enable stats hide-version stats uri /haproxy?stats stats realm Haproxy\ Statistics stats auth skonsoft:SECRET_PASSWORD # Credentials for HAProxy Statistic report page. balance roundrobin # Load balancing will work in round-robin process. option httpchk option httpclose option forwardfor cookie SRV_ID […]

HAProxy不开始启动

我已经在CentOS 7中安装并configuration了HAProxy,保持正常运行,除了HAProxy没有在启动时启动,我必须手动启动。 如果我运行该命令 systemctl is-enabled haproxy 它说这是启用。 我错过了什么吗? 提前致谢。

自定义标头不能loginHAProxy

我想在HAProxy中设置和logging自定义标题,以获取数据,以便我可以设置我们的DDoS / Anti Abuseconfiguration。 我遇到的麻烦是我可以设置标题,并且可以捕获不是由HAProxy设置的标题(例如:Accept-Language),但是我不能捕获/设置我设置的标题。 他们只是在日志中显示空白。 下面的configuration我尽可能简化了一切,它仍然不会logging自定义标题。 我在一个单一的前端所有这一切。 frontend WEBSERVER bind 111.222.333.444:80 option forwardfor option httplog ……. http-request add-header X-IP %ci http-request add-header X-Custom-Header pizza capture request header X-IP len 64 capture request header X-Custom-Header len 5 capture request header Accept-Language len 64 default_backend WEB-FARM 我的日志最终看起来像这样: 10.0.0.1:62291 [20/Oct/2015:12:52:26.112] WEBSERVER WEB_FARM/WEB-1 5/0/49/50/315 200 16875 – – […]

我如何代理API请求到我的docker集装箱?

我有一个运行node.js应用程序的docker容器。 从系统容器运行我可以做的事情,如… curl http://<IP address of my docker container>/users …. …和他们预期的JSON响应。 现在我已经在我的系统上安装了一个Apache Web服务器我有一些angular.js,我试图通信到泊坞窗容器上的REST API。 但是当然,Docker容器不能从我的networking上的其他主机访问。 有没有简单的方法来设置某种代理? 我有点熟悉HAProxy。 我可以设置HAProxy吗? 更新: 我开始我的docker容器,如下所示: [red@vm-red ~]$ sudo docker run -p 3000:8080 -t -i redsimage … 从主机vm-red上的命令行我可以执行此curl… [red@vm-red ~]$ curl -H "Content-Type: application/json" http://172.17.0.6:3000/user …并获得预期的结果。 但是,如果我使用我的笔记本电脑上的“邮递员”或笔记本电脑上的浏览器,并将它们指向http://vm-red:8080/user我什么也得不到。 我究竟做错了什么?

使用HAProxyselect性redirect到HTTPS

我有HAProxyconfiguration与一个单一的前端接受HTTP和HTTPS连接。 所有的后端只有HTTP。 我想强制某些path使用HTTPS(/ Login等),以便HAProxy在HTTP上接收请求时为这些path返回一个redirect。

基于时间的(预定的)haproxy后端备份设置

我有2个Web服务器: A和B haproxy在他们面前。 我想用A作为主, B作为备份/故障切换服务器。 我想知道是否有可能有: 情况A在办公时间内不能自动切换到B 在办公时间以外的情况下,自动切换到B 那可能吗?

Haproxy选项forwardfor只适用于第一个请求

haproxy为什么只在第一次发送X-Forwarded-For头文件? 这是我已经设置了option forwardfor的(唯一的)地方: backend nodes mode http balance roundrobin option forwardfor server host ip:80 check 只有第一个HTTP请求包含X-Forwarded-For头部: Host: example.com User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:44.0) Gecko/20100101 Firefox/44.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Authorization: Basic Og== Connection: keep-alive Cache-Control: max-age=0 X-Forwarded-For: replaced_actual_ip 连续的请求中缺less相同的头文件: Host: example.com User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X […]

keepalived不分配虚拟IP

我testinghaproxy与Keepalive 3台服务器。 Hyproxy服务器configuration工作正常(USLTS4 / USLTS5),但不keepalived。 这个过程在两个haproxy上都开始了,但是VIP没有被分配给master(USLTS4),所以不能从客户端访问。 这里是haproxy和keepalivedconfiguration: HAProxy的 KEEPALIVED haproxy的工作单独罚款和负载均衡 USLTS4:〜$ netstat -nlta | grep:80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN USLTS5:〜$ netstat -nlta | grep 80 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 没有贵宾分配到主haproxy 使用单播和多播(默认)configuration进行testing。 unicast_peer { 192.168.20.254 }