모드 프록시를 통과하는 요청에 대한 로깅을 활성화하는 방법


14

모드 프록시를 통과하는 요청을 기록하는 방법이 있습니까? 내가 원하는 곳에 도착하지 않는 것 같아서 구성을 디버깅하는 방법이 필요합니다. 다음 정보가 필요합니다.

  • 들어오는 요청의 헤더
  • 프록시 대상으로 전송되는 것

어쩌면 관련 질문 : 헤더를 제거하는 방법이 있습니까? 나는 다음을 시도했다.

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

나는 아무것도 보이지 않기 때문에 이것이 괜찮은지 정말로 모른다.


내가 사용하는 것이 mitmproxy디버깅 이런 종류의 위해.
병아리

답변:



10

나는 dumpio를 사용했습니다. 나는 다음을 넣었다 /etc/httpd/conf.d/dumpio.conf.

LoadModule dumpio_module modules/mod_dumpio.so

DumpIOInput On
DumpIOOutput On
DumpIOLogLevel debug

LogLevel debug

종종 잊혀진 부분은 LogLevel을 디버그로 설정하는 것입니다. 그렇지 않으면 실제로 DumpIO 출력이 표시되지 않습니다.

로그 출력은 가상 호스트 및 / 또는 서버의 오류 로그에 기록됩니다.


2
그것은 나에게 매우 도움이되었습니다. 감사! 우분투에서 나는 $ a2enmode dump_io그 후 VirtualHost 지시문에 대한 답변에서 줄을 추가했습니다. $ tail -f /var/log/apache2/error.log요청 하는 동안 체크 아웃하고 필요한 모든 정보를 얻었습니다. 디버깅이 끝나면 $ a2dismode dump_ioVirtualHost를 끄고 되 돌리는 것이 좋습니다 . 그렇지 않으면 매우 부풀어 오른 로그가 나타납니다.
uKolka

1
지시문 "DumpIOLogLevel"이 더 이상 존재하지 않습니다. 하나는 세트가 LogLevel dumpio:trace7에 설명 된대로 mod_dumpio
데이비드 Tonhofer에게

4

LogLevel을 디버깅하도록 변경하면 표준 오류 로그에서 진행중인 작업에 대한 자세한 정보가 제공됩니다.

LogLevel debug

무슨 일이 일어나고 있는지에 대한 많은 정보를 얻을 수 있습니다.


1
로그에 프록시에 대한 추가 정보가 있지만,보고 싶은 정보가 없습니다. LogFormat을 사용하여 어떻게 든 요청한 정보를 얻을 수 있습니까?
Kariem

1
LogFormat과 함께 놀아보십시오. mod_forensic 및 mod_security를 ​​사용하여 더 자세한 정보를 얻을 수 있습니다.
Decado

아파치 2.4에서 LogLevel 지시문은 /etc/apache2/apache2.conf우분투에 있습니다. 명백해 보이지만 알아내는 데 잠시 시간이 걸렸습니다.
Shrout1

2

proxy:trace5기존 LogLevel지시문에 추가 할 수도 있습니다

이걸 가지고 있다면

LogLevel error 

이것으로 변경

LogLevel error proxy:trace5

사용 후에는 다시 정상으로 변경하십시오. 이렇게하면 큰 로그 파일이 빠르게 생성됩니다.


이 질문에 태그가 지정된 아파치 2.2에서는 작동하지 않습니다.
Brian Minton

1

mod_security는 무엇보다도 요청 본문 및 헤더를 기록 할 수 있습니다. 링크


1
모범 사례는 간결한 요약을 제공하는 것입니다. 2015-08 현재, 링크는 죽어 보인다 ...
sage

-2

이 로그를 사용할 수 있지만 원하는 것을 정확하게 제공하지는 않습니다.

<VirtualHost yourdomain.com> 
    Customlog yourdomain.com-access.log combined 
    ErrorLog yourdomain.com-error.log
# Your other stuff
</VirtualHost>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.