Анализ PCAP тайм-аута HTTP-шлюзов 502 и 504: прокси-сервер, балансировщик нагрузки, восходящий поток или сеть?

Как диагностировать плохой шлюз HTTP 502 и тайм-аут шлюза 504 с помощью перехвата пакетов, включая TCP от прокси-сервера к восходящему потоку, TLS, время запроса, сброс серверной части и задержку ответов.


Ошибки HTTP «502 Bad Gateway» и «504 Gateway Timeout» являются симптомами прокси-уровня. Браузер или API-клиент видит ответ прокси-сервера, но реальная проблема может заключаться между прокси-сервером и вышестоящим сервером, внутри вышестоящего приложения, в согласовании TLS, в доступности TCP или в политике тайм-аута. Когда журналов недостаточно, пользователи ищут «анализ 502 pcap», «захват пакетов по тайм-ауту шлюза 504», «сброс исходящего прокси-сервера», «тайм-аут балансировщика нагрузки Wireshark» и «устранение неполадок сети с плохим шлюзом».

PCAP Surgery полезен, поскольку при сбоях прокси-сервера, если возможно, требуется история пакетов с обеих сторон: от клиента к прокси и от прокси к восходящему потоку.

Что обычно означает 502

«502 Bad Gateway» обычно означает, что прокси-сервер получил неверный, неполный или неудачный ответ от восходящего сервера. Причины включают в себя:

  • Сброс восходящего TCP.
  • Ошибка подтверждения TLS восходящего потока.
  • Восходящее соединение закрыто раньше времени.
  • Прокси-сервер подключен к неправильному порту.
  • Серверная часть вернула неверный HTTP-код.
  • Балансировщик нагрузки не имел исправного восходящего потока.
  • Несоответствие протокола, например ожидается HTTPS, но HTTP отправлен.

Клиент видит только 502 прокси-сервера. Трассировка пакетов может показать, что произошло в восходящем направлении.

Что обычно означает 504

«504 Gateway Timeout» обычно означает, что прокси-сервер переслал запрос, но не получил полного ответа восходящего потока до истечения его истечения.

Причины включают в себя:

  • Вышестоящее приложение работает медленно.
  • TCP-соединение с восходящими стойлами.
  • Сервер принимает соединение, но никогда не отвечает.
  • Большой ответ заблокирован из-за MTU или потери пакетов.
  • Задержка базы данных или зависимости позади восходящего потока.
  • Тайм-аут прокси-сервера слишком мал.
  • Тайм-аут простоя брандмауэра или NAT.

Ключевым доказательством является время: когда прокси-сервер отправил восходящий запрос и когда он отказался.

Захват размещения

Лучшие доказательства получены из:

  • Клиентская сторона: видит финальные 502/504.
  • Клиентский интерфейс на стороне прокси.
  • Восходящий интерфейс на стороне прокси.
  • Вышестоящая серверная часть.

Если вы захватываете только на клиенте, вы можете доказать, что прокси вернул 502/504, но не почему. Если вы захватываете прокси-сервер, вы можете проверить поведение восходящего потока.

TCP и TLS перед HTTP

Перед диагностикой HTTP проверьте:

  • Прокси-сервер установил TCP для восходящего потока?
  • Завершено ли установление связи TLS?
  • Соответствовал ли SNI ожиданиям восходящего потока?
  • Выполнен ли сброс восходящего потока?
  • Пакеты пересылались повторно?

В случае сбоя TCP или TLS статус HTTP может быть только трансляцией прокси-сервером сбоя нижнего уровня.

Запрос отправлен, ответа нет.

Для 504 ищите:

Proxy -> Upstream: HTTP request
No upstream response for timeout interval
Proxy -> Client: HTTP/1.1 504 Gateway Timeout

Checklist

Use this workflow:

Final diagnosis

<!-- pcap-localized-evidence-foundation-v1:start -->

Пакетный ответ для «Анализ PCAP тайм-аута HTTP-шлюзов 502 и 504: прокси-сервер, балансировщик нагрузки, восходящий поток или сеть?»

Краткий ответ: label анализатора или сообщение приложения не определяет причину. Начните с точки захвата и направления, докажите последнюю успешную protocol boundary и первую неудачную. Для «Анализ PCAP тайм-аута HTTP-шлюзов 502 и 504: прокси-сервер, балансировщик нагрузки, восходящий поток или сеть?» другой reviewer должен найти packet, gap или interval, поддерживающий каждую фразу, и понять, какой факт её опровергнет.

Разместите capture на карте пути

Запишите client, server и все proxy, load balancer, NAT или firewall. Укажите interface, место, clock, OS и видимые направления. Capture у client доказывает приход туда, но не отсутствие отправки server. Capture у server доказывает выход в этой точке, но не весь путь. Перед сравнением двух точек исправьте clock offset и сопоставьте flow tuple, TCP sequence или transaction ID.

Проверьте snap length, dropped packets, offload, capture filter, ring buffer и время старта. Bad checksum на host может быть offload artifact. Большой segment может быть результатом GRO/TSO и не существовать так на проводе. Отсутствие packet в ограниченном файле не является network loss, пока не доказано, что точка обязана была его видеть.

Читайте границы по порядку

Граница Успешный признак Полезный признак отказа
Link/IP direction, addresses и route согласованы нет ARP/NDP, ICMP, MTU, asymmetry
TCP SYN, SYN-ACK, ACK и sequence retransmission, RST, zero window, timeout
TLS ClientHello, ServerHello и прогресс alert или SNI/ALPN/certificate boundary
Application полный request и связанный response status, gap или ранний close
User response time или failure window stall на доказанной границе

Остановитесь на первой границе без успеха. Если TCP не завершён, не начинайте с HTTP. Если request пришёл на proxy, но отсутствует на upstream, граница внутри proxy или его пути. Если upstream получил запрос без response до timeout, ACK и продвижение bytes отделяют application delay от network loss.

Отделите observation от hypothesis

Observation можно указать: «Client отправил до определённой sequence, sender повторил segment трижды, а в этой точке не появилось продвигающего ACK». Hypothesis: «путь потерял segment». Другая точка или dropped records могут её опровергнуть. Для каждой гипотезы запишите подтверждающий и опровергающий факт.

Retransmission и duplicate ACK не назначают виновного. Reordering, loss, capture artifact и receiver delay дают похожие labels. Свяжите direction, sequence, ACK, SACK, RTT, window и application timing. Для DNS/DHCP сопоставляйте transaction ID и attempts; для HTTP request/response; для TLS направление handshake.

Сохраните original

Рассчитайте checksum и не изменяйте оригинал. Filter, trim и redaction выполняются над working copy. Запишите input, operation, время, packet count до/после, output checksum и причину. После timestamp rewrite или удаления packets копия не поддерживает часть выводов о timing и sequence.

Addresses и identifiers заменяйте устойчивыми aliases. Не удаляйте port, direction и length, если они нужны выводу. Secret mapping держите отдельно. Проверьте границы capture и export и обзор PCAP Surgery.

QA перед публикацией

Title и answer относятся к одному flow? Каждая duration называет clock и точки? Первая failure boundary определена? Есть alternative explanation? Повтор меняет одну переменную? Original сохранён? Ограничьте итог: «Файл доказывает поведение около client в этом interval, но не внутреннее выполнение server».

Проверенный Semrush-термин PCAP analyzer принадлежит только странице продукта. Техническая статья не получает выдуманный volume или KD.

<!-- pcap-localized-evidence-foundation-v1:end --><!-- multilingual-blog-closeout:start -->

Прямой ответ и граница приемки

Краткий ответ по теме «Анализ PCAP тайм-аута HTTP-шлюзов 502 и 504: прокси-сервер, балансировщик нагрузки, восходящий поток или сеть?»: Как диагностировать плохой шлюз HTTP 502 и тайм-аут шлюза 504 с помощью перехвата пакетов, включая TCP от прокси-сервера к восходящему потоку, TLS, время запроса, сброс серверной части и задержку ответов. Считайте это проверяемым результатом, а не обещанием для любого входа, устройства, проекта или окружения. Полный результат фиксирует исходное состояние, точное действие, видимый выход и условие, подтверждающее завершение задачи в PCAP Surgery.

Порядок работы от доказательств

Начните с небольшого повторяемого случая до изменения полного проекта. Запишите версию приложения, систему, идентификатор входа или устройства, важные настройки и ожидаемый результат. Выполните одно осознанное действие, сохраните первый неожиданный переход и сравните с исправным случаем, если он есть. Одновременная смена нескольких параметров скрывает условие, создавшее или устранившее проблему.

Контрольная точка 1: Анализ PCAP тайм-аута HTTP-шлюзов 502 и 504: прокси-сервер, балансировщик нагрузки, восход

Если «Анализ PCAP тайм-аута HTTP-шлюзов 502 и 504: прокси-сервер, балансировщик нагрузки, восходящий поток или сеть?» неоднозначен, сравните исправный и ошибочный случаи в одинаковых условиях. Отметьте первое значимое различие вместо списка последующих симптомов. Эта граница дает более ясное обращение в поддержку и безопасный следующий опыт.

Контрольная точка 2: Как диагностировать плохой шлюз HTTP 502 и тайм-аут шлюза 504 с помощью перехвата пакетов,

Проверяйте «Как диагностировать плохой шлюз HTTP 502 и тайм-аут шлюза 504 с помощью перехвата пакетов, включая TCP от прокси-сервера к восходящему потоку, TLS, вр» на минимальном репрезентативном входе. Не меняйте несвязанные настройки, повторите то же действие и проверьте результат после повторного открытия или подключения. Один снимок слабее записи с входом, настройкой, действием, выходом и временем.

Контрольная точка 3: Что обычно означает 502

Если «Что обычно означает 502» неоднозначен, сравните исправный и ошибочный случаи в одинаковых условиях. Отметьте первое значимое различие вместо списка последующих симптомов. Эта граница дает более ясное обращение в поддержку и безопасный следующий опыт.

Контрольная точка 4: Что обычно означает 504

Проверяйте «Что обычно означает 504» на минимальном репрезентативном входе. Не меняйте несвязанные настройки, повторите то же действие и проверьте результат после повторного открытия или подключения. Один снимок слабее записи с входом, настройкой, действием, выходом и временем.

Контрольная точка 5: Захват размещения

Если «Захват размещения» неоднозначен, сравните исправный и ошибочный случаи в одинаковых условиях. Отметьте первое значимое различие вместо списка последующих симптомов. Эта граница дает более ясное обращение в поддержку и безопасный следующий опыт.

Контрольная точка 6: TCP и TLS перед HTTP

Проверяйте «TCP и TLS перед HTTP» на минимальном репрезентативном входе. Не меняйте несвязанные настройки, повторите то же действие и проверьте результат после повторного открытия или подключения. Один снимок слабее записи с входом, настройкой, действием, выходом и временем.

Контрольная точка 7: Запрос отправлен, ответа нет.

Если «Запрос отправлен, ответа нет.» неоднозначен, сравните исправный и ошибочный случаи в одинаковых условиях. Отметьте первое значимое различие вместо списка последующих симптомов. Эта граница дает более ясное обращение в поддержку и безопасный следующий опыт.

Контрольная точка 8: Checklist

Проверяйте «Checklist» на минимальном репрезентативном входе. Не меняйте несвязанные настройки, повторите то же действие и проверьте результат после повторного открытия или подключения. Один снимок слабее записи с входом, настройкой, действием, выходом и временем.

Контрольная точка 9: Final diagnosis

Если «Final diagnosis» неоднозначен, сравните исправный и ошибочный случаи в одинаковых условиях. Отметьте первое значимое различие вместо списка последующих симптомов. Эта граница дает более ясное обращение в поддержку и безопасный следующий опыт.

Контрольная точка 10: Пакетный ответ для «Анализ PCAP тайм-аута HTTP-шлюзов 502 и 504: прокси-сервер, балансиров

Проверяйте «Пакетный ответ для «Анализ PCAP тайм-аута HTTP-шлюзов 502 и 504: прокси-сервер, балансировщик нагрузки, восходящий поток или сеть?»» на минимальном репрезентативном входе. Не меняйте несвязанные настройки, повторите то же действие и проверьте результат после повторного открытия или подключения. Один снимок слабее записи с входом, настройкой, действием, выходом и временем.

Матрица приемки

Точка Сохраняемое доказательство Критерий успеха
Анализ PCAP тайм-аута HTTP-шлюзов 502 и 504: прокси-сервер, балансировщик нагрузки, восходящий поток или сеть? Исходное состояние, одно действие и результат Второй оператор воспроизводит заявленный результат
Как диагностировать плохой шлюз HTTP 502 и тайм-аут шлюза 504 с помощью перехвата пакетов, включая TCP от прокси-сервера Исходное состояние, одно действие и результат Второй оператор воспроизводит заявленный результат
Что обычно означает 502 Исходное состояние, одно действие и результат Второй оператор воспроизводит заявленный результат
Что обычно означает 504 Исходное состояние, одно действие и результат Второй оператор воспроизводит заявленный результат
Захват размещения Исходное состояние, одно действие и результат Второй оператор воспроизводит заявленный результат
TCP и TLS перед HTTP Исходное состояние, одно действие и результат Второй оператор воспроизводит заявленный результат

Изоляция, восстановление и передача

Остановитесь на первой неуспешной границе. Сохраните источник, проект, сеанс или захват, сделайте копию перед разрушающим редактированием и меняйте одну переменную за опыт. Повтор широкого процесса после нескольких изменений может дать иной результат без объяснения причины.

Отличайте отсутствие доказательств от доказательства отсутствия. Пустой экран может означать неверный вход, область, фильтр, права, устройство, период или состояние проекта. Подтвердите получение или импорт до толкования decoder, редактора, отчета или экспорта.

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

Вопросы и ответы

Как надежнее всего начать?

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

Какие доказательства сохранять?

Сохраните идентификатор входа, версию, платформу, настройки, точное действие, первый неожиданный переход и конечный выход. Закройте и повторно откройте проект, сеанс, отчет или экспорт.

Когда повторять процедуру?

После значимого изменения приложения, системы, драйвера, прошивки, модели, источника или процесса. Сохраните предыдущий принятый случай как неизменную основу сравнения.

Когда результат готов к передаче?

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

Связанные руководства

Эти страницы на том же языке описывают соседние этапы, не меняя канонического владельца темы:

<!-- multilingual-blog-closeout:end -->