标签: haproxy

HAPROXY 背后的 mod_evasive

我在 HAPROXY 设置后面有几台 Apache 2 机器,我尝试在这些 Apache 机器上设置 mod_evasive,同时还使用 mod_rpaf 来获取真正的 X-FORWARDED 客户端 IP。

出于某种原因,mod_evasive 获取并阻止了一些 ips(使用 ApacheBench 进行测试),但有些可以继续打开更多连接,并且基本上对我的服务器进行 DOS 处理。

知道什么可以在 mod_evasive 中从另一个 ip 中排除一个 ip 吗?考虑到它位于代理后面并且真实的客户端 ip 在 apache 日志中可见?

mod_evasive的定义是默认值时,DOSWhitelist设定为我们的子网掩码(192.168 例如)。

rpaf 模块有 RPAFproxy_ips 定义和我们的 HAPROXY ip。有任何想法吗?

haproxy x-forwarded-for apache-2.2

6
推荐指数
1
解决办法
6174
查看次数

是否可以在 HAProxy 服务器上进行冗余?

我将使用 HAProxy 作为负载平衡器来平衡 3 个应用程序服务器上的请求。但是如果平衡器服务器(HAProxy)在某个时候出现故障怎么办?我正在考虑克隆第一个平衡器,因此如果主要平衡器失败,另一个将取而代之。类似于 HSRP。

是否可以?如果是,如何?

failover load-balancing redundancy haproxy

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

使用 HA-Proxy 对 Windows 文件共享进行负载平衡

在将我的头发拉出 DFS 之后,我突然想到了这个奇怪且具有潜在危险的想法,因此,可能我可以使用 HA-Proxy 来负载平衡服务器之间的文件共享。

我已经完成了一些补救数据包跟踪,看起来 TCP 端口 445 是使用 Windows 文件共享所涉及的唯一问题。多年来,我一直认为 UDP 139、135 等也至少参与建立连接 - 但显然不是!

所以我设置了一个基本的测试:

listen SMBTest *:445
  mode tcp
  server Smb1 172.16.61.201:445
  server Smb2 172.16.61.202:445
Run Code Online (Sandbox Code Playgroud)

你永远不会猜到是什么......它有效???(!)

现在显然有关于文件服务器之间同步的全部问题(当然)。这可以通过一点 Robocopy 脚本轻松解决。

考虑到我只需要一个 HA 只读文件共享,文件锁定等不会有任何问题。

  • 谁能告诉我我在这里玩的是火吗?我真的不认为它会起作用,现在我有点震惊。
  • 有什么缺点?
  • 这可以依赖于生产环境吗?

file-sharing samba load-balancing server-message-block haproxy

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

负载平衡的 IIS。我应该使用 NLB,还是基于 linux 的反向代理,或者其他什么?

对至少 2-3 个运行大量 .NET 应用程序的 Windows 2008 R2 IIS Web 服务器进行负载平衡的最佳方法是什么?我的选择似乎是:

1) 基于硬件的网络设备负载平衡器,如 Cisco CSS
2) Windows NLB
3) 某种基于 linux 的代理,haproxy 或其他

这三台服务器作为 vSphere 场上的虚拟机,因此我能够在高负载时进行克隆以增加实例数。我控制插入 vSphere 主机的交换机(Cisco 3750),但不控制除此之外到客户端的交换/路由基础设施。

(1) 太贵了,可能对我的需求来说太过分了。我已经包含了这个,以防有人想出一种巧妙的方法在我现有的网络工具包上做到这一点,我对此表示怀疑。

(2) 似乎是明显的“内置”选项,但似乎对网络接口、多播和其他似乎不必要地复杂的东西相当繁琐。这也相当愚蠢,因为如果主机开始抛出 500 个错误或出现其他错误,它无法从池中删除主机

(3) 是最有趣的选项,因为它似乎提供了最大的灵活性和可定制性,而不必与网络打交道。但是,虽然我熟悉 lighttpd 等的反向代理功能,但我对其他选项(如 HAProxy)的了解并不多,它可能提供更多功能。

你会去哪个,有什么我没有想到的吗?

iis load-balancing nlb haproxy

6
推荐指数
1
解决办法
5407
查看次数

Keepalived 不发送多播广告

我有两个系统,两个都是虚拟机。配置为使用桥接网络。我正在尝试使用 keepalived 来管理 VIP 的所有权 - 10.190.1.230。我尝试了从源代码构建的两个版本的 keepalived-1.2.2 和 keepalived-1.2.1。

ServerA - RHEL5.2 x64 - 10.190.1.228 - PRIORITY 50
ServerB - RHEL6 x64 - 10.190.1.229 - PRIORITY 101
VIP - 10.190.1.230
Run Code Online (Sandbox Code Playgroud)

我的问题似乎是在 ServerB 上 keepalived 没有发送多播广告。它正在看到多播广告。来自服务器A:

[root@ServerB~]# tcpdump -vv -c 3 -i eth0 vrrp
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
10:18:10.760577 IP (tos 0x0, ttl 255, id 856, offset 0, flags [none], proto VRRP (112), length 40)
10.190.1.228 > 224.0.0.18: VRRPv2, Advertisement, vrid 151, …
Run Code Online (Sandbox Code Playgroud)

linux haproxy fault-tolerance keepalived

6
推荐指数
1
解决办法
6158
查看次数

HAProxy:显示“BADREQ” | BADREQ 数以千计

我的 HAProxy 配置。

#HA-Proxy version 1.3.22 2009/10/14  Copyright 2000-2009 Willy Tarreau <w@1wt.eu>
global
    maxconn 10000
    spread-checks 50
    user haproxy
    group haproxy
    daemon
    stats socket /tmp/haproxy
    log localhost   local0
    log localhost   local1 notice

defaults
    mode    http
    maxconn 50000
    timeout client 10000
    option forwardfor except 127.0.0.1
    option httpclose
    option httplog

listen dcaustin 0.0.0.0:80
    mode http
    timeout connect 12000
    timeout server 60000
    timeout queue 120000
    balance roundrobin
    option httpchk GET /index.html
    log global
    option httplog
    option dontlog-normal
    server web1 10.10.10.101:80 maxconn 300 check …
Run Code Online (Sandbox Code Playgroud)

reverse-proxy load-balancing haproxy ubuntu-10.04

6
推荐指数
1
解决办法
7004
查看次数

如果不可用则使用备份(不仅仅是停机)

使用haproxy,我想要:

  • “主”服务器和“备份”服务器池,尽管它们不一定必须位于不同的池中。
  • 每个后端都有一个较低的“maxconn”(在本例中为 1)
  • 客户端不应在队列中等待。如果“主”池中没有立即可用的服务器,则应立即将它们分流到“备份”池。

现在我有一个后端,“主”服务器的权重高得离谱,而且“有效”。

acl use_backend+connslots是正确的,但如果没有我自己的答案中的补丁,它并不完美。

不需要修改 haproxy 二进制文件的奖励积分。

haproxy

6
推荐指数
3
解决办法
7053
查看次数

HAProxy 的高 Tq 值

我刚刚接管了一个新环境的管理工作。一个已知问题是环境以高响应时间(20 秒以上)着称,所以我想我会打开 haproxy 日志记录并查看发生了什么。我想我会在应用服务器中看到缓慢的加载时间,但实际上我在 HAProxy 中看到了高 Tq 值。HAProxy 在 EC2 上并且不在 ELB 后面。

Sep  5 14:22:00 haproxy-apps01 haproxy[24695]: 76.14.153.221:3371 [05/Sep/2012:14:21:49.780] http-in default_apps/fe04-c 10936/0/0/55/10991 200 488 - - ---- 111/111/0/1/0 0/0 "GET /event_times/next?callback=jQuery170189312373075111_1346854917562&_=1346854918453 HTTP/1.1"
Run Code Online (Sandbox Code Playgroud)

如您所见,这个 Tq 大约为 10 秒。并非所有 Tq 都很高(1+ 秒),但其中很大一部分是(大约 35%)。通常,当我看到这种行为时,我预计会出现网络问题,但是遇到此类问题的访问者比例非常高,所以我想知道是否有人见过这种情况或有任何诊断提示如果问题可能出在这个盒子上?

haproxy

6
推荐指数
1
解决办法
3301
查看次数

我应该使用 haproxy 的“linux2628”还是“linux26”make target?

使用最新版本的 HAProxy,简单地输入make不起作用,返回以下消息:

由于太多次优化设置的报告,不再支持不指定目标的构建。请在 TARGET 变量中指定目标操作系统,格式如下:

使目标=xxx

请从以下支持的列表中选择目标:

linux2628、linux26、linux24、linux24e、linux22、solaris freebsd、openbsd、cygwin、自定义、通用

如果您不需要任何优化,请使用“通用”,如果您想精确调整每个选项,请使用“自定义”,或者选择与您的操作系统最匹配的目标以获得最大性能。如有疑问,请检查 Makefile。

linux2628和 和有linux26什么区别?linux2628即使我有更新的内核版本,我也可以使用吗?

linux haproxy

6
推荐指数
1
解决办法
6308
查看次数

如何在 HAProxy 负载平衡后面水平扩展 SSL 终止?

我一直在环顾四周,似乎没有人像我一样尝试扩展 SSL 终止,我很好奇为什么我的方法看起来如此不常见。

这是我想要做的,然后是为什么:

  10.0.1.1  10.0.1.2 - 10.0.1.5
-----+--------+----+----+----+
     |        |    |    |    |
  +--+--+   +-+-++-+-++-+-++-+-+
  | LB1 |   | A || B || C || D |
  +-----+   +---++---++---++---+
haproxy 1.5 haproxy 1.5 + tomcat
 tcp mode    http mode
Run Code Online (Sandbox Code Playgroud)

为什么这个疯狂的设置Internet -> HAProxy (tcp mode) -> HAProxy (http mode) -> Tomcat?两个词:安全性和可扩展性

通过将 SSL 终端卸载到运行 HAProxy 1.5 的 Web 后端 (AD) 和仅在环回接口上侦听的 Tomcat,我可以保证从客户端到服务器的所有流量都经过加密,不可能从任何非本地网络嗅探到网络后端。

此外,随着 SSL 需求的增加,我可以简单地在负载平衡器后面启动新的(便宜的)后端服务器。

最后,它取消了将证书存在于面向外部的 LB 上的要求,并通过这样做增加了额外的安全性,因为受损的 LB 上不会有任何 pem 或证书。

我的情况似乎与此非常相似:为什么没有水平可扩展的软件负载平衡器平衡 ssl 的示例?但我没有使用基于文件的会话,如果可能的话,我想避免通过 IP …

ssl scaling load-balancing haproxy

6
推荐指数
1
解决办法
9325
查看次数