Як я можу ввімкнути реєстрацію запитів, що проходять через модний проксі


14

Чи є спосіб реєстрації запитів, що проходять через модний проксі? Мені потрібен спосіб налагодження моєї конфігурації, оскільки я, здається, не потрапляю туди, де повинен бути. Мені потрібна така інформація:

  • заголовки вхідних запитів
  • що надсилається до цілі проксі

Може бути пов'язане питання: чи є спосіб зняти деякі заголовки? Я спробував таке:

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

Я не знаю, чи це нормально, тому що я нічого не бачу.


Я б використовував mitmproxyдля цього налагодження.
пташенята

Відповіді:


3

Інший варіант може бути mod_forensic: легко записувати запит та заголовки тощо. Остерігайтеся використання дискового простору, хоча на веб-сайті з великим навантаженням mod_forensic може легко виробляти десятки гігів на день.

http://httpd.apache.org/docs/2.2/mod/mod_log_forensic.html


10

Я використовував дампіо. Я вкладаю наступне /etc/httpd/conf.d/dumpio.conf:

LoadModule dumpio_module modules/mod_dumpio.so

DumpIOInput On
DumpIOOutput On
DumpIOLogLevel debug

LogLevel debug

Часто забутий фрагмент встановлює налагодження LogLevel. Без цього ви фактично не побачите жодного виходу DumpIO.

Вихід журналу записується в журнал помилок для віртуального хоста та / або сервера.


2
Це виявилося досить корисно для мене. Спасибі! На Ubuntu я пішов $ a2enmode dump_ioПісля цього я додав рядки з відповіді до директиви VirtualHost. Перевіряв $ tail -f /var/log/apache2/error.logчас запитів і отримував всю потрібну мені інформацію. Після завершення налагодження краще вимкнути його $ a2dismode dump_ioі повернути VirtualHost. Інакше ви отримаєте дуже розпушені колоди.
uKolka

1
Директива "DumpIOLogLevel" більше не існує. Треба встановити так, LogLevel dumpio:trace7як описано в mod_dumpio
Девід Тонхофер

4

Якщо ви зміните LogLevel на налагодження, це дасть вам докладнішу інформацію про те, що відбувається в стандартному журналі помилок.

LogLevel debug

Це дозволить отримати багато інформації про те, що відбувається.


1
Хоча зараз у мене є небагато додаткової інформації про проксі в журналі, інформації, яку я хотів би побачити, немає. За допомогою LogFormat ми можемо якось отримати інформацію, яку я запитував?
Каріем

1
Поспішіть з LogFormat, зауважте, що ви можете використовувати mod_forensic та mod_security, щоб отримати детальнішу інформацію
Decado

В апач 2.4 директива LogLevel знаходиться /etc/apache2/apache2.confна Ubuntu. Здається, очевидно, але це знадобило мені секунду, щоб зрозуміти це.
Shrout1

2

Ви також можете додати proxy:trace5до існуючої LogLevelдирективи

Якщо у вас це є

LogLevel error 

Змініть це на це

LogLevel error proxy:trace5

Не забудьте змінити цю нормальну норму після використання. Це створить величезні файли журналів швидко.


Це не працює для apache 2.2, на який позначено це питання.
Брайан Мінтон

1

mod_security може записувати тіло та заголовки запиту, серед іншого. Посилання


1
Найкраща практика полягає у наданні стислого резюме. Станом на 2015-08, посилання здається мертвим ...
мудрець

-2

Ви можете використовувати ці журнали, але вони не дадуть вам саме того, що ви хочете:

<VirtualHost yourdomain.com> 
    Customlog yourdomain.com-access.log combined 
    ErrorLog yourdomain.com-error.log
# Your other stuff
</VirtualHost>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.