Bagaimana saya bisa mengaktifkan pendataan untuk permintaan melalui mod proxy

14

Apakah ada cara untuk mencatat permintaan melalui proksi mod? Saya perlu cara untuk men-debug konfigurasi saya, karena saya sepertinya tidak mendapatkan apa yang seharusnya. Saya memerlukan informasi berikut:

  • tajuk permintaan masuk
  • apa yang sedang dikirim ke target proxy

Mungkin pertanyaan terkait: apakah ada cara untuk menghapus beberapa header? Saya mencoba yang berikut ini:

ProxyPass         /proxy/other http://not.under.my.control/
<Location /proxy/other>
   ProxyPassReverse /
   RequestHeader unset Authorization
</Location>

Saya tidak tahu apakah ini baik-baik saja, karena saya tidak melihat apa-apa.

Kariem
sumber
Saya akan gunakan mitmproxyuntuk debugging semacam ini.
anak ayam

Jawaban:

10

Saya menggunakan dumpio. Saya memasukkan yang berikut ini /etc/httpd/conf.d/dumpio.conf:

LoadModule dumpio_module modules/mod_dumpio.so

DumpIOInput On
DumpIOOutput On
DumpIOLogLevel debug

LogLevel debug

Bagian yang sering dilupakan adalah mengatur LogLevel untuk debug. Tanpa itu, Anda tidak akan benar-benar melihat output DumpIO.

Output log ditulis ke log kesalahan untuk virtual host dan / atau server.

GuyPaddock
sumber
2
Ternyata cukup membantu bagi saya. Terima kasih! Di Ubuntu saya pergi $ a2enmode dump_ioSetelah itu saya telah menambahkan baris dari jawaban ke arahan VirtualHost. Lihat $ tail -f /var/log/apache2/error.logsementara membuat permintaan dan dapatkan semua info yang saya butuhkan. Setelah Anda selesai dengan debugging, lebih baik mematikannya $ a2dismode dump_iodan mengembalikan VirtualHost. Kalau tidak, Anda akan mendapatkan log yang sangat besar.
uKolka
1
Arahan "DumpIOLogLevel" tidak ada lagi. Kita harus mengatur LogLevel dumpio:trace7seperti yang dijelaskan dalam mod_dumpio
David Tonhofer
4

Jika Anda mengubah LogLevel untuk debug, itu akan memberi Anda lebih detail tentang apa yang terjadi di log Kesalahan standar.

LogLevel debug

Itu akan memberi Anda banyak informasi tentang apa yang terjadi.

Decado
sumber
1
Meskipun saya sekarang memiliki sedikit informasi tambahan tentang proksi dalam log, informasi yang ingin saya lihat tidak ada di sana. Menggunakan LogFormat, bisakah kita mendapatkan informasi yang saya minta?
Kariem
1
Bersenang-senang dengan LogFormat, Perhatikan bahwa Anda dapat menggunakan mod_forensic dan mod_security untuk mendapatkan lebih banyak detail
Decado
Di apache 2.4 arahan LogLevel ada di /etc/apache2/apache2.confUbuntu. Tampak jelas tapi butuh satu detik untuk mencari tahu.
Shrout1
2

Anda juga dapat menambahkan arahan proxy:trace5Anda yang adaLogLevel

Jika kamu punya ini

LogLevel error 

Ubah ini menjadi ini

LogLevel error proxy:trace5

Pastikan untuk mengubahnya kembali normal setelah digunakan. Ini akan membuat file log besar dengan cepat.

Yunzen
sumber
Ini tidak berfungsi untuk apache 2.2, yang ditandai dengan pertanyaan ini.
Brian Minton
1

mod_security dapat mencatat tubuh & tajuk permintaan, antara lain. Tautan

ggiroux
sumber
1
Praktik terbaik adalah memberikan ringkasan singkat. Pada 2015-08, tautannya tampaknya mati ...
bijak
-2

Anda dapat menggunakan log ini, tetapi mereka tidak akan memberikan apa yang Anda inginkan:

<VirtualHost yourdomain.com> 
    Customlog yourdomain.com-access.log combined 
    ErrorLog yourdomain.com-error.log
# Your other stuff
</VirtualHost>
Popinou
sumber