Ошибка 503, HAProxy выдает сервисы перевода через дополнительные прокси, Docker и LXD - PullRequest
0 голосов
/ 24 января 2019

Я верю, что, скорее всего, у меня проблемы с файлом HAProxy, но я не уверен.Ранее я использовал этот же файл конфигурации для доступа к другим службам в контейнерах, а также к другим службам на других балансировщиках нагрузки, а также к системам apache, и теперь я не могу это сделать.

Я не верю, чтовиноват другой сервис, так как они являются собственными установками моментальных снимков.

URI состояния HAProxy показывает состояние как L7STS / 502, и при попытке загрузить страницы для порта отображается как 503.

Раньше страница загружалась, но это был Nextcloud, поэтому я зашел в файл config.rb Gitlab, изменил порт по умолчанию для NGinx с 80 на 8800 и запустил команду перенастройки gitlab-ctl, чтобы перестроить Git на другой.порт, и соответственно исправил изменения внутри HAProxy.

Другие сервисы, которые не находятся за прокси-сервером любого типа, загружаются просто нормально, и сервисы Docker-контейнеров также не загружаются соответствующим образом, показывая ту же ошибку 503, что заставляет меня верить, что это мой конфигурационный файл HAProxy.

Вот HAProxy CoФайл nfig:

global
  log         127.0.0.1 syslog
  maxconn     1000
  user        haproxy
  group       haproxy
  daemon


defaults
  log  global
  mode  http
  option  httplog
  option  dontlognull
  option  http-server-close
  option  forwardfor except 127.0.0.0/8
  option  redispatch
  option  contstats
  retries  3
  timeout  http-request 10s
  timeout  queue 1m
  timeout  connect 10s
  timeout  client 1m
  timeout  server 1m
  timeout  check 10s
  errorfile 400 /etc/haproxy/errors/400.http
  errorfile 403 /etc/haproxy/errors/403.http
  errorfile 408 /etc/haproxy/errors/408.http
  errorfile 500 /etc/haproxy/errors/500.http
  errorfile 502 /etc/haproxy/errors/502.http
  errorfile 503 /etc/haproxy/errors/503.http
  errorfile 504 /etc/haproxy/errors/504.http


###########################################
#
# HAProxy Stats page
#
###########################################

listen stats
  bind *:9090
  mode  http
  maxconn  10
  stats  enable
  stats  hide-version
  stats  realm Haproxy\ Statistics
  stats  uri /
  stats  auth -----:-----



###########################################
#
# Front end for all
#
###########################################

frontend ALL
  bind   *:80
  mode   http

  # Define path for lets encrypt
  acl is_letsencrypt path_beg -i /.well-known/acme-challenge/
  use_backend letsencrypt if is_letsencrypt

  # Define hosts
  acl host_horizon hdr(host) -i horizon.eduarmor.com
  acl host_eduarmor hdr(host) -i www.eduarmor.com
  acl host_nextcloud hdr(host) -i nextcloud.eduarmor.com
  acl host_git hdr(host) -i git.eduarmor.com
  acl host_minecraft hdr(host) -i mine.eduarmor.com
  acl host_sugar hdr(host) -i sugar.eduarmor.com
  acl host_maas hdr(host) -i maas.eduarmor.com
  acl host_rocketchat hdr(host) -i rocketchat.eduarmor.com
  acl host_hive hdr(host) -i hive.eduarmor.com

  # Direct hosts to backend
  use_backend horizon if host_horizon
  use_backend eduarmor if host_eduarmor
  use_backend nextcloud if host_nextcloud
  use_backend git if host_git
  use_backend minecraft if host_minecraft
  use_backend sugar if host_sugar
  use_backend maas if host_maas
  use_backend rocketchat if host_rocketchat
  use_backend hive if host_hive


###########################################
#
# Back end letsencrypt
#
###########################################

backend letsencrypt
  server letsencrypt 127.0.0.1:8888

###########################################
#
# Back end for Horizon
#
###########################################

backend horizon
  balance         roundrobin
  # option          httpchk GET /check
  option          httpchk GET /
  # http-check      expect rstring ^UP$
  default-server  inter 3s fall 3 rise 2
  server          server1 10.0.0.30:80 check
  #     server          server2 0.0.0.0:80 check



###########################################
#
# Back end for EduArmor
#
###########################################
backend eduarmor
  balance         roundrobin
  # option          httpchk GET /check
  option          httpchk GET /
  # http-check      expect rstring ^UP$
  default-server  inter 3s fall 3 rise 2
  server          server1 10.0.0.59:80 check
  #     server server2 0.0.0.0:80 check

##########################################
#
# Back end for Nextcloud
#
##########################################
backend nextcloud
  balance         roundrobin
  # option         httpchk GET /check
  option          httpchk GET /
  # http-check     expect rstring ^UP$
  default-server  inter 3s fall 3 rise 2
  server          server1 10.0.0.101:80 check


##########################################
#
# Back end, Gitlab
#
##########################################
backend git
 balance        roundrobin
 # option        httpchk GET /check
 option         httpchk GET /
 # http-check    expect rstring ^UP$
 default-server inter 3s fall 3 rise 2
 server         server1 10.0.0.101:8800 check



##########################################
#
# Back end, Minecraft
#
##########################################
backend minecraft
 balance        roundrobin
 # option        httpchk GET /check
 option         httpchk GET /
 # http-check    expect rstring ^UP$
 default-server inter 3s fall 3 rise 2
 server         server1 10.0.0.101:25565 check



##########################################
#
# Back end, PHPSugar
#
##########################################
backend sugar
 balance        roundrobin
 # option        httpchk GET /check
 option         httpchk GET /
 # http-check   expect rstring ^UP$
 default-server inter 3s fall 3 rise 2
 server         server1 10.0.0.101:80 check



##########################################
#
# Back End, MAAS
#
##########################################
backend maas
 balance        roundrobin
 # option        httpchk GET /check
 option         httpchk GET /
 # http-check   expect rstring ^UP$
 default-server inter 3s fall 3 rise 2
 server         server1 10.0.0.100:5240 check



##########################################
#
# Back end for Rocketchat
#
##########################################
backend rocketchat
  balance         roundrobin
  # option         httpchk GET /check
  option          httpchk GET /
  # http-check     expect rstring ^UP$
  default-server  inter 3s fall 3 rise 2
  server          server1 10.0.0.101:3000 check
  server          server2 10.0.0.102:3000 check



##########################################
#
# Back end for The Hive
#
##########################################
backend hive
  balance         roundrobin
  # option         httpchk GET /check
  option          httpchk GET /
  # http-check     expect rstring ^UP$
  default-server  inter 3s fall 3 rise 2
  server          server1 10.0.0.101:9000 check
  server          server2 10.0.0.102:9000 check

Буду очень признателен за любые советы или советы по решению этой проблемы, а также за любые дополнительные ресурсы, которые могут у вас возникнуть по передовым методам, особенно включая настройку для использования SSL / TLS.

1 Ответ

0 голосов
/ 25 января 2019

Решение состояло в том, чтобы закомментировать опцию httpchk GET / comment, специально для бэкэнда улья, а также отказаться от использования docker-compose для docker-swarm, что также существенно расширило мои знания в целом о том, как работает docker.Комбинация проблем из docker-compose в сочетании с / CHK приводила к тому, что HAProxy считывал сервисы как отключенные и возвращал ошибку 503, что также означало, что сервисы никогда не будут обслуживаться.

Я хотел бы поблагодаритьанонимный человек, который согласился посвятить свое время тому, чтобы научить меня процессам докер-роя и CI / CD.Я гораздо лучше для этого, чем когда-либо, если бы меня просто кормили ответом с ложечки, и я очень благодарен тебе за это, так же как и многие бездомные ветераны.

...