Nginx отмечает, что сайт недоступен

  • Автор темы tsolomon
  • 66
  • Обновлено
  • 17, May 2024
  • #1
Иметь версию 1.17.2 (бесплатная версия) Настройте его как балансировщик нагрузки с двумя машинами за ним.

Периодически Nginx помечает оба сервера недоступными и возвращает сообщение 504. Эти 2 сервера — это просто серверы переднего плана, на которых работает Apache, который перенаправляет запросы на другие серверы.

Можно выполнить crtl R (постоянное обновление, удерживая его), нет проблем, сделайте паузу и начните выполнять crtl r вручную, и мы увидим, что страница просто вращается.

TCPDUMP показывает, что запрос поступает на серверы (анализатор пакетов брандмауэра), на серверах видно, что пакет попадает в интерфейс, через 30 секунд видно, что он перемещается на второй сервер, но на обоих серверах нет ответа.

Telnet от ящика Nginx к серверам не отвечает, другие ящики могут добраться до порта, к которому пытается добраться Nginx (8800). Журнал показывает, что первый сервер недоступен, затем второй, а затем возвращается 504 плохой шлюз.

Запустите тот же тест, но переключитесь на A10, и никогда не получите сбоя.

В настоящее время находится на рабочем LB и будет создавать тестовый LB с теми же конфигурациями, чтобы можно было запустить тест для подтверждения проблемы.

Считает ли сервер Nginx, что это проблема DDOS? В логах ничего не вижу.

Имеет ли сервер возможность блокировать попытки Telnet с него? Кто-нибудь когда-нибудь видел такое поведение? Есть идеи о том, что происходит? Спасибо

tsolomon


Рег
16 Jan, 2015

Тем
1

Постов
2

Баллов
12
  • 19, May 2024
  • #2
Я тот, кто настроил этот Сервер.

Что касается того, кто им управляет, это зависит от того, мониторинг — это операционная служба, изменения в ядре Linux, системные инженеры, установка и поддержка сети LB (Nginx) (Me), и все это под эгидой Infra.

Теперь отвечу вам на другие вопросы:

Мой доступ-- Root

Журналы TCP:

Журналы доступа:

64.14.35.6 - - [30 марта 2020 г.: 11:12:25 -0400] "GET /webservices/gainloss/realized/account/73910000?detail=N HTTP/1.1" 504 167 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0" "-" [root@sciv5-fis-extlb01 nginx]# cat access.log-20200331 | grep '1.1" 502' 64.14.35.6 - - [30 марта 2020 г.: 17:26:46 -0400] "GET / HTTP/1.1" 502 559 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, например Gecko) Chrome/80.0.3987.149 Safari/537.36" "-"

Журнал ошибок (на момент возникновения ошибки):

2020/03/30 11:11:25 [предупреждать] 99522#99522: *2234652 вышестоящий сервер временно отключен при подключении к восходящему серверу,

2020/03/30 11:11:25 [ошибка] 99522#99522: *2234652 истекло время ожидания восходящего потока (110: время ожидания соединения истекло) при подключении к восходящему каналу,

2020/03/30 11:12:25 [предупреждать] 99522#99522: *2234652 вышестоящий сервер временно отключен при подключении к восходящему серверу,

2020/03/30 11:12:25 [ошибка] 99522#99522: *2234652 истекло время ожидания восходящего потока (110: время ожидания соединения истекло) при подключении к восходящему каналу,

2020/03/30 17:25:23 [предупреждать] 99522#99522: *2268068 вышестоящий сервер временно отключен при подключении к восходящему серверу

2020/03/30 17:25:23 [ошибка] 99522#99522: *2268068 истекло время ожидания восходящего потока (110: время ожидания соединения истекло) при подключении к восходящему каналу

2020/03/30 17:26:46 [предупреждать] 99522#99522: *2268136 вышестоящий сервер временно отключен при подключении к восходящему серверу

2020/03/30 17:26:46 [ошибка] 99522#99522: *2268136 истекло время ожидания восходящего потока (110: время ожидания соединения истекло) при подключении к восходящему каналу

2020/03/30 17:26:37 [предупреждать] 99522#99522: *2268126 вышестоящий сервер временно отключен при подключении к восходящему серверу, клиент:

2020/03/30 17:26:37 [ошибка] 99522#99522: *2268126 истекло время ожидания восходящего потока (110: время ожидания соединения истекло) при подключении к восходящему каналу,

nginx неправильно слушает.

Что вы под этим подразумеваете? Он получает запросы на номера 80 и 443 и пересылает их на соответствующий URL-адрес и порт сервера.

На внешнем интерфейсе Nginx он прослушивает 80 и 443, на внутреннем интерфейсе он не прослушивает никакие порты, но пропускает трафик на серверы. Так не могли бы вы дать более конкретный ответ? Я ценю ответ, но мне нужно больше обратной связи.

Я понимаю, что может быть проблема, поэтому я на этом форуме. Спасибо Дэн
 

Максим Матюшенко


Рег
26 Sep, 2011

Тем
0

Постов
2

Баллов
2
  • 13, Jun 2024
  • #3
Кто устанавливал эту установку? У вас нет человека, который управляет вашими серверами? Я бы начал с проверки вашего доступа, журналов nginx и tcp, чтобы увидеть, что происходит. Похоже на проблему с неправильным прослушиванием LB или nginx.
 

Lucas2


Рег
15 Jul, 2014

Тем
0

Постов
4

Баллов
4