3

Я вижу в кодах состояния моего балансировки нагрузки приложения значение 460. Я не вижу шаблонов для этих кодов в отношении времени, серверов или URL-адресов запросов. Согласно this forum post, 460 означает:Код состояния 460 на балансировщике нагрузки

Клиент закрыл соединение с ALB до простоя тайма-аута имеет ноги в либо на переднем конце или соединение фоновых .

Я могу видеть запрос, сделанный на серверный сервер, и бэкэнд обрабатывает запрос без проблем и очень быстро. Почему происходят эти ошибки? Этот ALB делает значительный объем трафика с 6-8 серверными серверами.

Пример ALB Лог:

https 2017-01-30T22:46:27.451363Z app/LOAD-BALANCER/bbab458ad0b80d X.X.X.X:55999 10.5.X.X:80 0.000 -1 -1 460 - 132 0 "GET https://www.website.com:443/app/page HTTP/1.1" "-" ECDHE-RSA-AES128-SHA TLSv1 arn:aws:elasticloadbalancing:us-west-2:743462462234:targetgroup/TARGET-GROUP/e6120e5adr245b79107e "Root=1-588fc23e-77aea5adf4534af3de09659d13a08"

Пример NGINX журнал из бэкэнда:

X.X.X.X 1485807955.048 www.website.com /app/page - GET 200 - 0.056 24 text/html; charset=UTF-8 -

ответ

5

Документация для кода состояния 460 обновляется для балансировщика нагрузки приложения.

Эта ошибка возникает, когда балансировки нагрузки получает запрос от клиента , но клиент закрыл соединение с распределителем нагрузки перед холостой период тайм-аута истекает.

Проверьте, не превышает ли период ожидания клиента период простоя период ожидания для балансировщика нагрузки. Убедитесь, что ваша цель предоставляет ответ отклика клиенту до истечения периода ожидания клиента, или увеличить период ожидания клиента, чтобы согласовать период ожидания балансировки нагрузки , если клиент поддерживает это.

Вы можете прочитать полный документ здесь: http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-troubleshooting.html#http-460-issues

+0

Is «клиент» в данном случае браузер пользователей?В какой ситуации браузер пользователей завершит соединение? – comfytoday

+0

это может быть что угодно, даже запрос на завиток. Если это браузер, вы можете увидеть это: https://stackoverflow.com/questions/5798707/browser-timeouts –

2

Существует, вероятно, подсказка в этой последовательности:

0,000 -1 - 1 460 -

Поля request_processing_time, target_processing_time, response_processing_time, elb_status_code, target_status_code

target_processing_time и response_processing_time поля является -1 предположить, что существует проблема диспетчеризации запроса на целевом компьютере, в соответствии с http://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html

Убедитесь, что ваша целевая получает запрос, может быть какая-то проблема конфигурации или сети между ALB и целью. ALB вставляет заголовок трассировки X-Amzn-Trace-Id в запрос, когда он отправляет его цели, возможно, регистрирует их на вашем backend-сервере NGINX и видит, если вы получаете конкретные запросы, которые терпят неудачу.

У меня проблема с подобной проблемой, и, похоже, это связано с тем, что наши хосты отбрасывают пакеты TCP из-за разгрузки TCP на наших хостах Windows.