Как я могу записать заголовок и тело ответа в apache?

12

Мне нужно определить, возвращает ли сервер (Apache 2) полное содержимое страницы вместе с правильным заголовком или нет. У меня есть PHP-скрипт, который успешно выполняется, но браузер получает только половину HTML-контента, он просто отключен.

Инфраструктура клиента довольно сложна, с использованием Novell BorderManager Proxys и прочего. Чтобы убедиться, что сервер работает нормально, я хочу записать как заголовок, так и текст ответа.

Как мне этого добиться? Я посмотрел на mod_log_configмодуль apache (который уже установлен и готов к использованию), но, честно говоря, мне не удалось настроить его для вывода заголовка и тела.

редактировать: мне удалось войти в заголовок с

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{HEADER_NAME}o\"" common2

CustomLog /var/log/apache2/response.log common2

Но, к сожалению, форматы mod_log_config не поддерживают все тело контента.

Обновление: я запутался в mod_dumpio, который, кажется, делает именно это, но пока не могу заставить его работать :-(

Кто-нибудь может помочь?

кульминация
источник

Ответы:

3

Вы можете сделать это через mod_security , см. Документацию о формате данных журнала аудита .

weeheavy
источник
Спасибо, но в документации сказано: «Доступные части журнала аудита: [...] G - ЗАБРОНИРОВАНО для фактического тела ответа, еще не реализовано».
акме
Вы можете использовать Eили Iпотому что я связал старый документ. Более новое здесь: modsecurity.org/documentation/modsecurity-apache/2.5.12/…
субботу
1
Я добавил это в httpd.conf: SecAuditEngine On SecAuditLog /var/log/apache2/sec.log SecAuditLogParts ABEFGHZ. Я получаю некоторую информацию об отладке, поэтому она, кажется, работает, но тело ответа не отображается.
Acme
исходная ссылка и последняя ссылка на документ были повреждены, поэтому я добавил ссылку на последнюю.
icc97
4

в случае, если вы не получите никакого тела ответа в своих журналах при использовании « Предполагаемого тела ответа (E) »; например.:

SecAuditLogParts ABCEFHZ

Убедитесь, что вы также активировали механизм правил:

SecRuleEngine On

и проверьте свои настройки на:

SecRequestBodyAccess On
SecResponseBodyAccess On
Florian
источник