Как использовать прокси-сервер HA в качестве балансировщика нагрузки

#load-balancing #haproxy

#балансировка нагрузки #haproxy

Вопрос:

Я пытаюсь использовать прокси-сервер HA в качестве балансировщика нагрузки между моими двумя веб-серверами. Отдельные серверы запущены на указанных портах. Но я не могу подключиться к веб-серверам через прокси-сервер HA. Я настроил прокси-сервер HA, используя стандартные настройки, как показано ниже

/etc/haproxy/haproxy.cfg

 global
    log         127.0.0.1 local0

    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon

    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats

#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
    mode                    http
    log                     global
    option                  httplog
    option                  dontlognull
    option http-server-close
    option forwardfor       except 127.0.0.0/8
    option                  redispatch
    retries                 3
    timeout http-request    10s
    timeout queue           1m
    timeout connect         10s
    timeout client          1m
    timeout server          1m
    timeout http-keep-alive 10s
    timeout check           10s
    maxconn                 3000

#---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend  main *:80
    mode http
    default_backend             app

backend app
    balance     roundrobin
    option forwardfor
    http-request set-header X-Forwarded-Port %[dst_port]
    http-request add-header X-Forwarded-Proto https if { ssl_fc }
    option httpchk HEAD / HTTP/1.1rnHost:localhost
    server  app1 10.368.240.116:9091
    server  app2 10.368.240.317:9092
    #server  app3 127.0.0.1:5003 check
    #server  app4 127.0.0.1:5004 check
  

Я могу успешно свернуть вышеупомянутые серверы с моего хост-компьютера HA Proxy

 curl -i "10.368.240.116:9091"
HTTP/1.1 200 OK

curl -i "10.368.240.317:9091"
HTTP/1.1 200 OK
  

Мой прокси-сервер HA прослушивает порт 80
Но когда я нажимаю на него, он выдает ошибку 503, как показано ниже

 curl -iv  "127.0.0.1"
* About to connect() to 127.0.0.1 port 80 (#0)
* Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: 127.0.0.1
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 503 Service Unavailable
HTTP/1.0 503 Service Unavailable
< Cache-Control: no-cache
Cache-Control: no-cache
< Connection: close
Connection: close
< Content-Type: text/html
Content-Type: text/html

<
<html><body><h1>503 Service Unavailable</h1>
No server is available to handle this request.
</body></html>
* Closing connection 0
  

Кто-нибудь может подсказать, где я делаю неправильно

Комментарии:

1. Начните с поиска записей журнала для этих неудачных запросов в журнале HAProxy.

2. Спасибо, но я выяснил, что с конфигурацией не было никаких проблем. Возникла некоторая проблема с брандмауэром. Теперь проблема решена