2022

NHN Cloud LoadBalancer 리스너 방식에 따른 Apache Log 설정 (NAVER Cloud, AWS ELB 참조)

운좋은하루 2022. 5. 31. 11:52
728x90
반응형

NHN Cloud LoadBalancer 리스너 방식의 프로토콜은 HTTP, HTTPS, TERMINATED_HTTPS, TCP 총 4가지

(기본적으로 프록시 모드로 동작)

 

1. HTTP/TERMINATED_HTTPS 프로토콜 - > X-Forwarded-For 헤더 정보 참고 (자동적으로 프록시 프로토콜 선택)

 

 

Apache Log 설정 전 mod_remoteip 활성화 확인

# apachectl -M|grep remoteip
remoteip_module (shared)

 

확인 후 httpd.conf에 RemoteIPHeader X-Forwarded-For 추가

 

Log 형식을 2개중 선택하여 변경- 입맛에 맞게

LogFormat “%a %l %u %t \”%r\” %>s %O \”%{Referer}i\” \”%{User-Agent}i\”” combined

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

 

2. TCP/HTTPS -> ProxyProtocal 사용 (생성시 프록시 프로토콜 사용에 체크를 해야 한다)

Apache Log 설정 전 mod_myfixip 모듈 설치 후 mod_myfixip, mod_remoteip 활성화

 

mod_myfixip 설치

$ wget — no-check-certificate https://raw.githubusercontent.com/ggrandes/apache24-modules/master/mod_myfixip.c
$ /{아파치가설치된경로}/bin/apxs -c -i mod_myfixip.c

 

httpd.conf에 mod_myfixip 추가

 

<IfModule mod_myfixip.c>

RewriteIPResetHeader off

RewriteIPAllow x.x.x.x/24
</IfModule>
<IfModule mod_remoteip.c>

RemoteIPHeader X-Cluster-Client-Ip

RemoteIPInternalProxy x.x.x.x./24

</IfModule>

 

 Log 형식을 변경

LogFormat “%{X-Cluster-Client-Ip}i %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combined

 

* httpd.conf 에 RemoteIPProxyProtocol On 추가 후 Log 설정 변경해도 되지만

일반적인 방법으로 개별 인스턴스로 URL 접근이 안됨

 

HTTP 프로토콜 설정은 아래 참조

 

[참조]

 

NHN Cloud 사용자 가이드

https://docs.toast.com/ko/Network/Load%20Balancer/ko/overview/

 

개요 - NHN Cloud 사용자 가이드

Network > Load Balancer > 개요 NHN Cloud는 로드 밸런서를 제공합니다. 로드 밸런서를 이용하면, 인스턴스 하나로 처리하기 힘든 부하를 여러 대의 인스턴스로 분산하여 처리량을 늘릴 수 있습니다. 장

docs.toast.com

NAVER Cloud Platform

https://medium.com/naver-cloud-platform/l4-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C%EC%9D%98-acl-%EC%84%A4%EC%A0%95-tcp-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-%EC%82%AC%EC%9A%A9-%EC%8B%9C-616f1e307ff7

 

L4 환경에서의 ACL 설정 — TCP 프로토콜 사용 시

로드밸런서에서 TCP/SSL 프로토콜 사용 시, Proxy Protocol을 사용하여 Client IP를 추출하고 특정 IP만 접근을 허용하는 법에 대해서 소개해드리고자 합니다.

medium.com

 

https://navercloudplatform.medium.com/l4-%ED%99%98%EA%B2%BD%EC%97%90%EC%84%9C%EC%9D%98-acl-%EC%84%A4%EC%A0%95-http-https-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-%EC%82%AC%EC%9A%A9-%EC%8B%9C-c3ff74c42dfb

 

L4 환경에서의 ACL 설정 — HTTP/HTTPS 프로토콜 사용 시

로드밸런서에 바인딩 된 웹서버에서 Client IP를 추출하고, 특정 Client IP의 웹페이지 접속을 차단하는 설정에 대해서 간단하게 소개해드리고자 합니다.

navercloudplatform.medium.com

AWS 웹 서버 로그에서 클라이언트 IP 주소를 캡처하려면 어떻게 해야 합니까?

https://aws.amazon.com/ko/premiumsupport/knowledge-center/elb-capture-client-ip-addresses/

 

ELB를 기반으로 하는 웹 서버 로그에서 클라이언트 IP 주소 캡처

웹 서버에 Elastic Load Balancing(ELB)을 사용 중이며 웹 서버 액세스 로그에서 로드 밸런서의 IP 주소를 볼 수 있습니다. 이 IP 주소 대신 클라이언트 IP 주소를 캡처하려면 어떻게 해야 합니까?

aws.amazon.com

 

728x90
반응형