标签: haproxy

HA 代理 - roundrobin 与 leastconn

有什么关于什么时候应该使用roundrobin和什么时候使用的建议leastconn吗?

roundrobin目前正在使用并观察到我的后端服务器的负载分布不均匀。当然可能还有其他问题,但我们想leastconn尝试一下,但由于它是一个关键任务服务器,我想在进行更改之前咨询其他经验。

有什么想法可以分享吗?

load-balancing haproxy high-load

16
推荐指数
2
解决办法
2万
查看次数

haproxy 日志记录到系统日志

ppa:vbernat/haproxy-1.5根据http://haproxy.debian.net/在 ubuntu 14.04 上通过 apt-get 安装了 haproxy 1.5

问题是它登录/var/log/syslog而不是/var/log/haproxy.log

设置基本上是默认设置:

/etc/haproxy/haproxy.cfg

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

    # Default SSL material locations
    ca-base /etc/ssl/certs
    crt-base /etc/ssl/private

    # Default ciphers to use on SSL-enabled listening sockets.
    # For more information, see ciphers(1SSL).
    ssl-default-bind-ciphers kEECDH+aRSA+AES:kRSA+AES:+AES256:RC4-SHA:!kEDH:!LOW:!EXP:!MD5:!aNULL:!eNULL
        ssl-default-bind-options no-sslv3

defaults
    log global
    mode    http
    option  httplog
    option  dontlognull …
Run Code Online (Sandbox Code Playgroud)

logging syslog haproxy rsyslog

16
推荐指数
3
解决办法
15万
查看次数

HAProxy - 根据 URI 转发到不同的 Web 服务器

我有一个具有以下配置的 HTTP 场:

listen webfarm 10.254.23.225:80
       mode http
       balance roundrobin
       cookie SERVERID insert
       option httpclose
       option forwardfor
       option httpchk HEAD /check.txt HTTP/1.0
       server webA 10.254.23.4:80 cookie A check
       server webB 10.248.23.128:80 cookie B check
Run Code Online (Sandbox Code Playgroud)

我想添加一些选项,将特定 URI(即 /special)的所有请求转发到第三个 Web 服务器。我该怎么做?

http load-balancing haproxy

15
推荐指数
1
解决办法
4万
查看次数

如何使用故障转移设置 HAProxy?

我明白,要在 HAProxy 负载平衡设置上进行故障转移,您需要两台运行 HAproxy 的机器(并将其路由到多个网络服务器实例)。但是在这种情况下,比如说 abcd.com,我们如何将此流量拆分/路由到 2 个 IP 地址而不是一个?DNS 通常将域名解析为单个 IP。我们如何使用免费/廉价的工具/服务来做到这一点?

failover load-balancing haproxy

15
推荐指数
2
解决办法
3万
查看次数

HAProxy 仅在服务器关闭的情况下切换

假设我有 2 个服务器 - SA 和 SB。是否可以将 HAProxy 配置为这样工作:

所有连接到 SA -> SA 关闭 -> HAProxy 将所有连接切换到 SB -> 直到 SB 没有关闭 - 没有连接到 SA,即使它再次启动 -> SB 关闭 -> HAProxy 切换到 SA.. .

简而言之,我希望 HAProxy 仅在当前服务器出现故障时切换。也许我应该使用 HAProxy 以外的其他东西?

load-balancing haproxy

15
推荐指数
2
解决办法
3万
查看次数

Haproxy 不记录请求?

因此,我配置了 Haproxy,因此日志记录将通过 rsyslog,并且现在全部转储到一个文件中。

它肯定会记录日志,因为我在启动时收到那些“开始”消息,但根本没有记录 HTTP 请求。我的配置有什么问题?

haproxy.cfg :

global
        log /dev/log local0 debug
        chroot /var/lib/haproxy
        stats socket /run/haproxy/admin.sock mode 660 level admin
        stats timeout 30s
        user haproxy
        group haproxy
        daemon

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        timeout connect 5000
        timeout client  50000
        timeout server  50000
        errorfile 400 /etc/haproxy/errors/400.http
        errorfile 403 /etc/haproxy/errors/403.http
        errorfile 408 /etc/haproxy/errors/408.http
        errorfile 500 /etc/haproxy/errors/500.http
        errorfile 502 /etc/haproxy/errors/502.http
        errorfile 503 /etc/haproxy/errors/503.http
        errorfile 504 /etc/haproxy/errors/504.http

frontend webfront
  option  forwardfor
  stats enable
  stats uri /haproxy?statis
  stats …
Run Code Online (Sandbox Code Playgroud)

logging haproxy rsyslog

15
推荐指数
4
解决办法
9万
查看次数

在 haproxy 中绑定到 IPv4 和 IPv6 的所有接口

我想配置haproxy以绑定到所有接口(即和)上的atcptcp6套接字。0.0.0.0:80:::80

我能够通过以下设置达到这个目标:

listen web
  bind :80 v4v6
  bind :::80 v6only
Run Code Online (Sandbox Code Playgroud)

还有比这更短的方法吗?

虽然我希望它的行为有所不同,但v4v6关键字使haproxy 仅绑定到 v4 套接字。

haproxy

15
推荐指数
2
解决办法
3万
查看次数

HAProxy - 如何在 X-Client-IP 和 X-Forwarded-For 标头中附加客户端 IP?

我有 HAProxy 服务器的问题。我想在标头中转发客户端 IP。我几乎完成了,但是有一个有趣的案例,我无法弄清楚。我需要在标头的 2 个地方写入客户端 IP,在 X-CLIENT-IP 和 X-FORWARDED-FOR 标签中。

问题是:当我使用

option http-server-close
option forwardfor
Run Code Online (Sandbox Code Playgroud)

在目标服务器上,我在标题 X-FORWARDED-FOR=xxx.xxx.xxx.xxx(client ip) 中看到但没有 x-client-ip 标题。

当我使用:

option forwardfor header X-Client-IP
option http-server-close
Run Code Online (Sandbox Code Playgroud)

在目标服务器上,我看到标头 X-CLIENT-IP=xxx.xxx.xxx(client IP) 但 X-FORWARDED-FOR=xxx.xxx.xxx.xxx(HAProxy ip)

我需要在目标标头上看到 X-CLIENT-IP 和 X-FORWARDED-FOR 具有客户端 IP 的值。

我尝试混合配置,如

 option forwardfor
 option forwardfor header X-Client-IP
 option http-server-close
Run Code Online (Sandbox Code Playgroud)

没有效果。我也不能安装任何模块。目标是IIS。

有任何想法吗?:(

haproxy

14
推荐指数
2
解决办法
6万
查看次数

HAProxy 的 Windows 替代品

似乎已经发布了与此类似的问题,所以我会继续问。

我正在从事一个项目,该项目可以从让两到四台服务器处理对后端 Web 服务的传入请求中受益。该服务不需要 SSL,但需要支持偶尔长时间运行的进程(最多 120 秒)。

该项目目前没有资金购买硬件负载均衡解决方案。

我以前使用 HAProxy 作为解决方案,发现它非常简单明了。是否有类似的 Windows 产品(服务器 2003 或 2008)提供类似的配置选项并作为轻量级服务运行?

由于我无法控制的原因,我无法设置 Linux 机器(物理或虚拟),因此我正在寻找可以部署在 Windows 机器上的行为。

我只能找到似乎属于这一类的 Perlbal。为了不保持这个开放性,我将归功于唯一的答案。

windows load-balancing haproxy

13
推荐指数
4
解决办法
4万
查看次数

如何在 HAproxy 的 ACL 列表中匹配通配符主机?

我的 haproxy.conf 中有以下几行:

acl valid_domains hdr(Host) -i mysite.com images.mysite.com docs.mysite.com admin.mysite.com
redirect location http://mysite.com/invalid_domain if !valid_domains
Run Code Online (Sandbox Code Playgroud)

我如何匹配任何子域?

我试过:

acl valid_domains hdr(Host) -i *.mysite.com

和:

acl valid_domains hdr(Host) -i [a-z]+.mysite.com

......但都没有奏效。

谢谢

regex access-control-list haproxy

13
推荐指数
3
解决办法
5万
查看次数