我在 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 作为负载平衡器来平衡 3 个应用程序服务器上的请求。但是如果平衡器服务器(HAProxy)在某个时候出现故障怎么办?我正在考虑克隆第一个平衡器,因此如果主要平衡器失败,另一个将取而代之。类似于 HSRP。
是否可以?如果是,如何?
在将我的头发拉出 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
对至少 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)的了解并不多,它可能提供更多功能。
你会去哪个,有什么我没有想到的吗?
我有两个系统,两个都是虚拟机。配置为使用桥接网络。我正在尝试使用 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) #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) 使用haproxy,我想要:
现在我有一个后端,“主”服务器的权重高得离谱,而且“有效”。
acl use_backend+connslots是正确的,但如果没有我自己的答案中的补丁,它并不完美。
不需要修改 haproxy 二进制文件的奖励积分。
我刚刚接管了一个新环境的管理工作。一个已知问题是环境以高响应时间(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,简单地输入make不起作用,返回以下消息:
由于太多次优化设置的报告,不再支持不指定目标的构建。请在 TARGET 变量中指定目标操作系统,格式如下:
使目标=xxx
请从以下支持的列表中选择目标:
linux2628、linux26、linux24、linux24e、linux22、solaris freebsd、openbsd、cygwin、自定义、通用
如果您不需要任何优化,请使用“通用”,如果您想精确调整每个选项,请使用“自定义”,或者选择与您的操作系统最匹配的目标以获得最大性能。如有疑问,请检查 Makefile。
linux2628和 和有linux26什么区别?linux2628即使我有更新的内核版本,我也可以使用吗?
我一直在环顾四周,似乎没有人像我一样尝试扩展 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 …
haproxy ×10
linux ×2
apache-2.2 ×1
failover ×1
file-sharing ×1
iis ×1
keepalived ×1
nlb ×1
redundancy ×1
samba ×1
scaling ×1
ssl ×1
ubuntu-10.04 ×1