mod_proxy ProxyErrorOverride On всегда отбрасывает тело ответа - PullRequest
0 голосов
/ 08 июня 2018

У меня возникла проблема, которая может быть просто фундаментальным неправильным пониманием того, как работает эта функция, но, тем не менее, я хотел ее задать.Я пытаюсь включить директиву ProxyErrorOverride от прокси-модуля при использовании двух обратных прокси (один в корне и один в / api).Мы хотели бы иметь возможность возвращать пользовательские страницы ошибок (через директиву ErrorDocument) для диапазона кодов состояния 4xx и 5xx.Однако существуют коды состояния, которые мы хотим передавать нашим веб-приложениям в качестве ошибок, которые явно отправляются из API.

В этот текущий момент, когда я включаю директиву ProxyErrorOverride, мы видим, что определенные коды состояния направляются на нашу общую страницу ошибок, но коды состояния, через которые мы пытаемся пройти (не объявляя директиву ErrorDocument), похоже, возвращаются с правильным кодом состояния (например, 418), но с использованием общего тела ответа Apache, которое говорит что-то вроде «418 Неизвестная причина, свяжитесь с вашим admin @ domain.com..blah бла».

Есть ли какой-нибудь способ сообщить Apache, что я хочу сохранить тело ответа через прокси-сервер, или он всегда удаляется Apache?

В некоторых случаях я использую официальную базу данных httpd 2.4.33 и могу воспроизвести это поведение даже с самой базовой конфигурацией Apache.Я попытался пройтись по некоторому исходному коду (я не пишу много на C), и из того, что я мог сказать, казалось, что отбрасывание тела ответа, возможно, было поведением по умолчанию, и что единственным переопределением был пользовательский ответ.

Хотелось бы получить разъяснения по этому поводу.Можно ли пропустить сообщения об ошибках с директивой ProxyErrorOverride, установленной на Вкл?

Я видел этот пост: Сделайте, чтобы apache mod_proxy ProxyErrorOverride включал исходное содержимое страницы с помощью mod_include

, что также подразумевает, что ТОЛЬКО ответы SSI могут обслуживаться с ProxyErrorOverride OnЕсть ли какие-либо документы или источники, которые можно привести, которые подтверждают это?Какие-нибудь обходные пути на основе Apache?

1 Ответ

0 голосов
/ 23 января 2019

Насколько я понимаю, ProxyErrorOverride отменяет любой из ответов, полученных от источника выше 400.

Не могу исключить определенные.

...