2013-04-01 5 views
3

나는 이것을 할 수없는 것 같습니다. 나는 아직도 내 로그에 cloudflare IP를보고있다. 현재 Cloudflare 뒤에있는로드 밸런서가 있습니다.Haproxy Real IP + Cloudflare

option   forwardfor except 127.0.0.1 
option   forwardfor except 204.93.240.0/24 
option   forwardfor except 204.93.177.0/24 
option   forwardfor except 199.27.128.0/21 
option   forwardfor except 173.245.48.0/20 
option   forwardfor except 103.22.200.0/22 
option   forwardfor except 141.101.64.0/18 
option   forwardfor except 108.162.192.0/18 
    option   forwardfor header X-Real-IP 
    reqadd   X-Forwarded-Proto:\ http 

아무도 Cloudflare에서 실제 IP를 얻을 수있는 올바른 구성에 대한 아이디어가 있습니까 :

현재, 여기 forwardfor 관련된 블록을입니까? 아니면 nginx의 set_real_ip_from cloudflareIP 및/또는 real_ip_header CF-Connecting-IP와 haproxy의 동등한가? 감사.

답변

2

실제로 아무것도 수행하지 않아야합니다. 문제는 cloudflare IP 목록을 관리하기 어려운 경우를 제외하고 forwardfor를 삽입하려고하지만 모든 트래픽이 cloudflare에서 오는 것입니다.

forwardfor 옵션을 모두 제거하면 cloudflare 헤더가 haproxy를 통해 지속됩니다.

"옵션 httpclose"를 추가하여 항상 그렇게하고 있는지 확인하십시오. 당신이 찾고있는 무엇

1

은 다음과 같습니다

http-request add-header X_FORWARDED_FOR %[req.hdr(CF-Connecting-IP)] 

이 올바른 cloudflare 소스 IP를 추가합니다. 아무 것도하지 않으면 src 주소와 클라우드 플레어 주소의 양쪽 헤더로 끝납니다.