Среда HAProxy отказывается подключаться - PullRequest
0 голосов
/ 10 июня 2018

У меня есть установка с 2 веб-сервисами за балансировщиком нагрузки с HAProxy.В то время как служба, запущенная на 3 серверах, реагирует вполне нормально, другая служба, имеющая только один сервер, не реагирует.

В общем, вот что должно произойти:

loadbalancer -> rancherPlatformAdministration, если определенный URL-адресиспользуемыйloadbalancer -> rancherServices для всех других запросов

Вот мой haproxy.cfg:

#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
    log         127.0.0.1 local2

    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

frontend http-in
    bind *:80
    # Define hosts
    acl host_rancherAdmin hdr(host) -i admin.mydomain.tech

    use_backend rancherPlatformAdministration if host_rancherAdmin
    default_backend rancherServices

backend rancherServices
    balance roundrobin
    server rancherserver91 192.168.20.91:8080 check
    server rancherserver92 192.168.20.92:8080 check
    server rancherserver93 192.168.20.93:8080 check

backend rancherPlatformAdministration
    server rancherapi01 192.168.20.20:8081 check

wget --server-response foo.mydomain.tech отвечает 401, что является уважаемым поведением, так как я не предоставляю ни имя пользователя, нипароль.Я также могу открыть foo.mydomain.tech через браузер и войти в систему. Так что эта часть работает, как я уже говорил.

wget --server-response 192.168.20.20:8081 (да, этот Tomcat действительно работает под 8081) локально из loadbalancer отвечает200 и, таким образом, работает просто отлично, а попытка wget --server-response admin.mydomain.tech приводит к следующему:

--2018-06-10 20:51:56--  http://admin.mydomain.tech/
Aufl"osen des Hostnamens admin.mydomain.tech (admin.mydomain.tech)... <PUBLIC IP>
Verbindungsaufbau zu admin.mydomain.tech (admin.mydomain.tech)|<PUBLIC IP>|:80 ... verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet ...
  HTTP/1.0 503 Service Unavailable
  Cache-Control: no-cache
  Connection: close
  Content-Type: text/html
2018-06-10 20:51:56 FEHLER 503: Service Unavailable.

Я почти уверен, что здесь что-то не хватает;Я знаю о различиях в пересылке запроса как запроса уровня 4 или уровня 7 - который, кажется, работает просто отлично.Я предоставляю mode http, поэтому я на слое7 ...

Есть какие-нибудь подсказки о том, что здесь происходит или о том, как я могу это отладить?

1 Ответ

0 голосов
/ 11 июня 2018

Оказывается, что в моем случае selinux был showtopper - после перевода его в разрешающий режим с помощью setenforce 0, он просто работал ... Так как это изменение не является перезагружаемым, мне пришлось следовать найденным инструкциям.здесь: https://www.tecmint.com/disable-selinux-temporarily-permanently-in-centos-rhel-fedora/

...