Приложение на клиенте (192.168.1.106
) пытается получить доступ к службе 192.168.1.10:8080
. Запись в журнале этого запроса приведена ниже. Я хотел бы настроить haproxy для отправки этого запроса напрямую 192.168.1.10:8080
вместо использования backend privoxy-back
.
Я почти уверен, что мне нужно добавить ACL в мою конфигурацию haproxy, но я считаю, что документация слишком обширна для этой конкретной проблемы. Некоторые из сообщений 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
Это сообщения, которые я уже проверял и не работал.
Если вы хотите, чтобы HAProxy обрабатывал ваш запрос, вам необходимо иметь интерфейс и серверную часть. Насколько я знаю, у вас должен быть Backend, и нельзя об этом забывать. Почему вы не хотите использовать серверную часть? Я не понимаю, как это может создать для вас проблему. В любом случае вы можете справиться с этим так:
Итак, ваша конфигурация почти верна. Учитывая следующие предположения
Ваша конфигурация должна быть такой, как показано ниже, и ваш 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
потому что это будет означать, что трафик направляется только на этот сервер, если все остальные серверы не работают.