我无法让代理在我们的一个网站 (IIS7) 上运行。我从 haproxy 日志中收到“无路由到主机”消息。
Server test_be/10.100.1.1:81 is DOWN, reason:
Layer4 connection problem, info: "No route to host",
check duration: 1000ms. 0 active and 0 backup servers left.
0 sessions active, 0 requeued, 0 remaining in queue.
backend test_be has no server available!
以下是我目前发现的内容:
- 两台机器均未启用防火墙。
- ping、tracepath 和 telnet 工作。
- 从 haproxy 机器上进行卷曲是成功的,如下所示:http://10.100.1.1:81/test.html返回值
haproxy 前端/后端配置(不起作用):
frontend test bind 10.100.2.2:80 mode http option httplog default_backend test_be backend test_be option httpchk balance source server s1 10.100.1.1:81 check port 81
haproxy 替代配置(有效):
listen test_direct bind 10.100.2.2:80 mode tcp option tcplog balance source server s1 10.100.1.1:81
- 其他 IIS 网站后端也同样适用。
您能帮助我理解为什么前端/后端设置不起作用吗?我想使用它是因为我想根据收到的请求添加额外的规则。这可能是由于健康检查不满意吗?(我实际上不知道具体是怎么发生的。)
我在这里吹毛求疵。
答案1
Haproxy 请求 IIS 服务器 (http 200/300) 提供有效返回,我猜想您的情况会返回 404,因为不存在默认索引页。您可能还想将要检查的 URL (/test.html) 添加到 httpchk 配置行。