Bagaimana saya bisa mencatat header dan badan respons di apache?

12

Saya perlu menentukan apakah server (Apache 2) mengembalikan konten lengkap dari sebuah halaman bersama dengan header yang benar atau tidak. Saya memiliki skrip PHP yang dieksekusi dengan sukses, tetapi browser hanya mendapatkan setengah dari konten html, itu hanya terputus.

Infrastruktur klien cukup rumit, menggunakan Novell BorderManager Proxys dan lainnya. Untuk memastikan server melakukan tugasnya dengan baik, saya ingin mencatat header dan badan tanggapan.

Bagaimana saya bisa mencapai ini? Saya melihat ke dalam mod_log_configmodul apache (yang sudah diinstal dan siap untuk digunakan), tapi jujur ​​saya tidak cukup berhasil mengkonfigurasinya ke output header dan body di suatu tempat.

sunting: Saya berhasil mencatat tajuk

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

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

Namun sayangnya itu format mod_log_config tidak mendukung seluruh isi konten.

Pembaruan: Saya menggunakan mod_dumpio yang sepertinya melakukan hal itu, tapi saya tidak bisa membuatnya bekerja sejauh ini :-(

Adakah yang bisa membantu?

puncak
sumber

Jawaban:

3

Anda dapat melakukan ini melalui mod_security , lihat Dokumentasi tentang format data Log Audit .

berat
sumber
Terima kasih, tetapi dokumentasinya mengatakan "Komponen log audit yang tersedia: [...] G - DILINDUNGI untuk badan respons yang sebenarnya, belum diimplementasikan."
Acme
Anda dapat menggunakan Eatau Ikarena saya menautkan dokumen lama. Baru di sini: modsecurity.org/documentation/modsecurity-apache/2.5.12/...
weeheavy
1
Saya menambahkan ini ke httpd.conf: SecAuditEngine On SecAuditLog /var/log/apache2/sec.log SecAuditLogParts ABEFGHZ. Saya mendapatkan beberapa info debug, jadi sepertinya berfungsi, tetapi badan respons tidak ditampilkan.
acme
baik tautan asli maupun tautan terbaru ke dokumen telah rusak sehingga saya telah memasang tautan ke yang terbaru.
icc97
4

dalam kasus Anda tidak mendapatkan badan respons di log Anda saat menggunakan " Intended Response Body (E) "; misalnya.:

SecAuditLogParts ABCEFHZ

Pastikan Anda juga telah mengaktifkan mesin aturan:

SecRuleEngine On

dan periksa pengaturan Anda untuk:

SecRequestBodyAccess On
SecResponseBodyAccess On
Florian
sumber