Squid에서 proxy protocol을 사용하여 소스 보내기 제어

3009 단어 AWSsquid

배경.


NLB에서 AWS의 프록시 서버를 이중화하고 싶지만 NLB가 NAT를 하기 때문에 원본 IP를 모두 동일하게 보내기 때문에 Proxy protocol을 사용하는 제어를 합니다.

필요조건


프록시 중복
화이트리스트 URL 필터링
보낸 사람 IP 기반 인증

squid


squid에 다음 설정을 추가합니다.
squid.conf
#ポートの指定とproxy接続時にproxy protocolを必須にする
http_port 8080 require-proxy-header 
#NLBのIPをACLに追加
acl nlb_ip src 10.0.0.1
acl nlb_ip src 10.0.1.1
#クライアントIPをACLに追加
acl client_ip src 10.0.0.10
acl client_ip src 10.0.1.10
#URLフィルタリング
acl whitelist dstdomain "/etc/squid/whitelist"
#Proxy Protocolの利用許可
proxy_protocol_access permit nlb_ip
proxy_protocol_access permit client_ip
#httpアクセスの許可
http_access permit nlb_ip
#クライアントの許可とホワイトリストの適用
http_access permit client_ip whitelist
whitelist
google.com

AWS

  • EC2 대시보드에서 대상 그룹에 액세스
  • 대상 그룹 선택, 동작 -> 속성 편집 선택
  • Proxy Protocol v2의 유효성을 확인하고 저장을 선택합니다.


  • 기타 주의사항 등

  • NLB의 IP도 proxy_protocol_access를 통해 허가해야 한다
  • CLB 사용 시 서브넷 지정 및 라이센스
  • NLB 측에서 Proxy Protocol을 유효하게 사용할 때 Squid 측에서 proxy protocol을 유효하게 사용하지 않으면 순조롭게 접근할 수 없고, 반대로 NLB 측이 유효하지 않아도 접근할 수 없다.즉, 양쪽에서 유효하거나 무효가 일치하지 않아야 한다
  • http_access permit 일치된 규칙이 있으면 이후의 규칙을 평가하지 않기 때문에 AND 조건을 적용하고자 하는 경우 같은 줄에 기재
  • 참고 자료

    좋은 웹페이지 즐겨찾기