客户端 ( ) 上的应用程序192.168.1.106
正在尝试访问服务192.168.1.10:8080
。此请求的日志条目如下。我想配置 haproxy 以将该请求直接发送到 ,192.168.1.10:8080
而不是使用backend privoxy-back
。
我几乎确定我需要向 haproxy 配置添加 ACL,但我发现文档对于这个特定问题来说太过详尽。下面的一些 StackExchange 帖子很接近,但它们并不是我想要的。
你能帮助我理解这里必须做什么吗?
Feb 9 07:21:24 localhost.localdomain haproxy[21851]: 192.168.1.106:49326
[09/Feb/2018:07:21:24.199] privoxy-front privoxy-back/proxy02 89/0/0/-1/91 -1
132 - - SD-- 129/129/129/128/0 0/0 "GET http://192.168.1.10:8080/ HTTP/1.1"
frontend privoxy-front
bind :8118
mode http
default_backend privoxy-back
backend privoxy-back
mode http
option forwardfor
server proxy01 192.168.20.62:8118 check backup
server proxy02 192.168.25.72:8118 check
这些是我已经检查过并且没有起作用的帖子。
答案1
如果您希望 HAProxy 处理您的请求,您需要有前端和后端。据我所知,您需要有后端,并且不能忽略它。为什么您不想使用后端?我不明白这会给您带来什么问题。无论如何,您可以像这样处理它:
- 配置运行所需端口的前端
- 配置一个后端,该后端已配置了要代理的实际服务器
- 将创建的前端链接到后端
因此您的配置几乎正确。假设以下
- 客户端 IP 是 192.168.1.106
- 客户端连接的应用服务器 IP 为 192.168.1.10,端口为 8080
- 实际应用服务器(无论您要代理到哪个应用程序)的 IP 和端口是 192.168.20.62:8118 和 192.168.25.72:8118
您的配置应如下所示,并且您的 HAProxy 应在 192.168.1.10 上运行:
frontend privoxy-front
bind :8080
mode http
default_backend privoxy-back
backend privoxy-back
mode http
option forwardfor
server applicationServer1 192.168.20.62:8118 check
server applicationServer2 192.168.25.72:8118 check
我删除了它,backup
因为这意味着如果所有其他服务器都瘫痪了,流量只会路由到该服务器。