У меня есть инфраструктура на AWS, и вчера она показала прерывистость с сообщением о том, что CloudFront попытался установить соединение с источником, но не смог. Очевидно, но я думаю, что это не имеет никакого отношения к этому, директивы httpd.conf Timeout и ProxyTimeout решили проблему, установив их значения в 10 раз превышающие нормальное значение 60 секунд.
Проблема заключалась в конкретном веб-контексте, который уже имел свойства connectiontimeout = 180 timeout = 180:
ProxyPass ajp: //192.168.70.35: 8009 / auctions connectiontimeout = 180 timeout = 180 ProxyPassReverse ajp: //192.168.70.35: 8009 / auctions
Теперь вероятным решением было добавить
Тайм-аут 600
ProxyTimeout 600
в файл, но я понимаю, что в начале файла уже установлено свойство Timeout 60.
Итак, мой вопрос: как apache читает этот файл, если две директивы Timeout установлены с разными значениями? Считывает ли он первое значение, но остается с последним и ведет себя таким образом?
Конечно, я знаю, что в нем должна быть только одна директива, но мы исследуем основную причину проблемы.
Спасибо.
Timeout и ProxyTimeout - разные директивы. ProxyTimeout используется, когда вы используете apache для пересылки запроса на другой сервер / приложение. Он сообщает apache, как долго ждать ответа второго сервера.
https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxytimeout
Похоже, это не относится к вашей настройке, вам нужно изменить только тайм-аут.