Apache 로깅 - X-Forwarded-for는 Virtualhost와 함께 사용될 때 기록하지 않습니다.

Apache 로깅 - X-Forwarded-for는 Virtualhost와 함께 사용될 때 기록하지 않습니다.

저는 Apache/2.4.27을 사용하고 있습니다.

VirtualHost에서는 다음 명령을 사용하여 로드 밸런서의 원격 클라이언트 IP 헤더를 전달합니다.

RemoteIPHeader X-Forwarded-For

이 웹 호스트에서 제공하는 애플리케이션에는 이가 필요합니다.

이는 기본 httpd.conf 컨텍스트의 로그 형식입니다.

LogFormat "%h (%{X-Forwarded-For}i) %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

가상 호스트에 이를 나열 하면 RemoteIPHeader X-Forwarded-ForApache는 원격 클라이언트 IP를 로그에 쓰는 것을 중지합니다.

VirtualHost에서 제거하면 원격 클라이언트 IP가 로그에 다시 표시되기 시작했습니다.

어떤 아이디어가 있나요?

감사해요!

답변1

mod_remoteip를 사용하는 경우 %a를 이 형식으로 되돌립니다.

Bugzilla에서 mod_remoteip는 %{X-Forwarded-For}i에서 제거하는 동안 %a를 채웁니다. 따라서 신뢰할 수 있는 프록시가 있는 간단한 경우 %a는 X-Forwarded-For에 표시된 값으로 저장됩니다. 왜냐하면 mod_remoteip

관련 정보