반응형

1. 로드밸런서 환경 (ALB, CLB 등) 에서 프록시 서버 IP가 나타나는 이슈
- 아파치 앞단에 L4나 Proxy 등이 있는 경우 실제 클러이언트 IP 대신 프록시 서버의 IP가 찍히게 된다.
- 이를 해결하기 위해 아파치 모듈 중 하나인 mod_remoteip 모듈을 활성화 하여 해결.
2. 아파치 버전
- 아파치 버전 2.4.x 즉, 2.4 버전 이후로는 기본으로 들어있기 때문에 모듈 활성화만 해주면 된다.
3. 설정 파일 수정
- 아파치 설정파일 (httpd.conf) 내에 모듈 활성화 및 remoteip 관련 파일을 하나 만들어준다.
- httpd.conf
1) 모듈 활성화
LoadModule remoteip_module modules/mod_remoteip.so
2) 파일 추가
Include conf/extra/httpd-remoteip.conf
3) httpd-remoteip.conf 내용 (로드밸런서 IP를 적어준다.)
<IfModule mod_remoteip.c>
RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 10.0.x.x/24
RemoteIPTrustedProxy 10.0.x.x/24
</IfModule>
헤더는 보통 X-Forwarded-For 으로 하며
RemoteIPTrustedProxy 에 신뢰할 수 있는 로드밸런서 IP를 작성해준다.
*로그를 통한 확인 시 모듈만 켠다고 해서 로그에 자동으로 찍히지는 않음.
로그 포맷(LogFormat)에서 클라이언트 IP를 나타내는 %h를 **%a**로 변경해야 합니다.
LogFormat "%h %l %u %t \"%r\" %>s %b" combined
LogFormat "%a %l %u %t \"%r\" %>s %b" combined
4. 확인
- 먼저 모듈이 정상적으로 활성화가 되었는지 확인한다.
apachectl -M | grep remoteip
: 정상적인 결과 remoteip_module (shared)
5. 아파치 재구동
1) 설정파일 문법오류 확인.
./apachectl -t
정상 결과 : Syntax OK
2) 아파치 재구동
./apachectl -k graceful
- 실제 운영중이라면 graceful을 통해 중지하지 않고 설정된 내용을 적용하는 방법을 사용한다.
반응형
'기타개발관련' 카테고리의 다른 글
| Nginx 설치 테스트 (version 1.15.1) (0) | 2023.03.31 |
|---|
댓글