У меня есть небольшое веб-приложение с балансировщиком нагрузки haproxy.Есть два бэкэнда, один - apache, а второй - redis.Apache является бэкендом по умолчанию.Теперь я должен запросить Redis из веб-приложения, чтобы получить несколько строк.Какой самый лучший способ?Ниже приведена конфигурация
frontend http_front
bind *:80
reqadd X-Forwarded-Proto:\ http
acl redis_req path_beg -i /redis
use_backend redis if redis_req
default_backend apache
log-format %ci:%cp_[%t]_%bi:%bp_%s_%{+Q}r_%ST_%Tq/%Tw/%Tc/%Tr/%Tt_%B
backend redis
balance roundrobin
server redisApp localhost:6379 check
backend apache
balance roundrobin
server redis.12 localhost:8080 check
Можно ли запросить redis, например http://127.0.0.1/redis/get/foo
, через какое-то приложение REST./redis
сообщит haproxy, что это запрос на повторный доступ.К сожалению, он не работает для Redis и наблюдаем следующую ошибку.
<html><body><h1>502 Bad Gateway</h1>
The server returned an invalid or incomplete response.
</body></html>
Запрос от клиента был таким curl -w '\n' machine-ip/redis/ping
.Где я не прав?Есть ли лучший подход для этого случая?