2013-08-31 3 views
9

웹 서버 (apache 또는 nginx)를 사용하면 x-forwarded-for 헤더를 찾고 ELB의 IP가 아닌 클라이언트 IP를 찾을 수 있습니다.AWS ELB 뒤에 클라이언트 IP를 얻는 방법은 무엇입니까?

특정 IP 주소를 차단할 수 있도록 IPTables을 사용하여 동일한 작업을 수행 할 수 있습니까?

웹 서버 수준에서이 작업을 수행 할 수 있습니다. 그러나 이것은 약간 비효율적이라고 생각하며 IP 테이블 또는 이와 유사한 것으로 이것을 달성 할 수 있기를 희망합니다.

답변

6

iptables에는 탄성 부하 분산 장치의 IP 주소 만 표시되므로 ELB는 인스턴스에 대한 연결을 설정하기 때문에 iptables를 사용하여이 작업을 수행 할 수 없습니다.

웹 서버를 사용하여 특정 x-forwarded-for 값을 차단하는 것이 특히 비효율적이지는 않지만 IP 주소로 ELB에 액세스 할 수있는 사용자를 제어하려는 경우 해당 호스트에 첨부 된 보안 그룹을 사용하여 수행 할 수도 있습니다. ELB.


업데이트 : 적어도 현재로서는, ELB는 EC2 "고전"에 인바운드 보안 그룹 또는 네트워크 액세스 제어 목록을 지원하지 않기 때문에 귀하의 의견은, 부분적으로 정확하지만 VPC에 ELB는 않습니다.

Q : Elastic Load Balancer의 프런트 엔드에 대한 보안 그룹을 구성 할 수 있습니까?

Amazon Virtual Private Cloud를 사용하는 경우 Elastic Load Balancer의 프런트 엔드에 대한 보안 그룹을 구성 할 수 있습니다. —   http://aws.amazon.com/ec2/faqs/#ELB6

보안 그룹을 사용하면 특정 IP 주소 범위의 비교적 작은 세트를 허용 할 필요가있을 때 사용하는 것이 가장 쉬운 방법이다. 대부분 허용하고 싶지만 약간을 차단하려면 VPC Network Access Control List이 쉬운 접근 방식입니다.

+0

ELB에는 보안 그룹이 없습니다. 맞습니까? 최소한 IP는 추가/제거 할 수 없습니다. – Abs

11

7 월 30 일부터 ELB는 Proxy Protocol을 지원합니다. this thread in the AWS forum의 말에 명시된 바와 같이 :

탄성로드 균형 조정 (ELB)는 이제 프록시 프로토콜 버전 1 이 기능에 추가 통찰력을 제공, 당신은 TCP 부하 분산을 사용하는 경우 클라이언트의 연결 정보를 식별 할 수 있도록 지원

귀하의 응용 프로그램 방문자. 이 정보가 이면 트래픽 로그 분석, 연결 통계 수집, 문제 해결 또는 IP 주소 허용 목록 관리에 유용 할 수 있습니다.

enable Proxy Protocol in the ELB이어야합니다.

developers guide에는 프록시 프로토콜에 대한 자세한 정보가 있습니다.

+0

참고 : 프록시 프로토콜은'TCP' 리스너를 사용할 때만 필요합니다. 'HTTP' 리스너의 경우 여전히'X-Forwarded-For' 헤더를 사용할 수 있습니다. –

+0

그래도이 사건이 맞습니까? 링크가 작동하지 않습니다 :/ –

+0

어떤 링크가 작동하지 않습니까? –