Apache обратный прокси-сервер странных тайм-аутов

проблема У меня есть сервер Apache в настройке DMZ в качестве обратного прокси-сервера для нашей живой машины. Большую часть времени это работает как шарм. Проблема заключается в том, что пользователи говорят, что очень редко они получают "таймаут".

Конечно, если я проверю журналы ошибок на прокси-сервере, я вижу несколько таких ошибок.

[error] [client x.x.x.x] (70007)The timeout specified has expired: ZSRV_MSG158A: Beim Lesen eines Dokuments auf dem fernen Host x.x.x.x ist ein Fehler aufgetreten.

Или на английском языке, при чтении документа на удаленном хосте xxxx Произошла ошибка.

Журналы ошибок на реальном компьютере полностью пусты.

Вещи, которые я пробовал Моя первая мысль заключалась в том, что, возможно, живая машина возвращалась, но тайм-аут прокси-сервера был ниже, поэтому, возможно, он уже отказался от ожидания. Я обнаружил, что у живой машины есть тайм-аут в 300 секунд (по умолчанию), поэтому я попытался изменить тайм-аут прокси-сервера на 310 секунд.

Это не изменило ситуацию. Это заставляет меня думать, что, возможно, существует проблема прерывистой связи между прокси-сервером и сервером? Это как если бы живая машина никогда не получала запрос.

Я уже включил keepalive как на живой машине, так и на прокси. Я также изменил его, чтобы использовать http 1, поскольку, по-видимому, это дает меньше проблем?

SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1

http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#envsettings

Есть идеи?

1 ответ

Мы нашли источник тайм-аутов. В стороннем API были зафиксированы блокировки записей, из-за которых некоторые запросы зависали. Как только это было исправлено, мы перестали получать тайм-ауты на прокси-сервере.

Что меня смутило, так это то, что у нас были ошибки таймаута на прокси-сервере, но не на главной машине в реальном времени (назначение прокси-сервера). Это заставило меня подумать, что запрос не мог быть рассчитан на жизнь, но как-то только на прокси. По-видимому, это было неправильно, поскольку источник тайм-аутов был на живой машине, мы просто не видели ошибок Apache.

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

licensed under cc by-sa 3.0 with attribution.