로드 밸런서 또는 클라우드 WAF를 통해 X-Forwarded-For를 사용하는 경우 Apache 설정
X-Forwarded-For
(향후 XFF라고 부른다)라는 리퀘스트 헤더를 봐야 한다.단순히 보면 좋다는 것은 아닌 것을 알았으므로 그림. Apache 설정(.htaccess)에서 고뇨고뇽하고 앱은 XFF를 보면 좋은 상태로 하는 것이 목적. 애플 리케이션으로 분석 해 보면 좋을까요? 라고 하는 이야기는 둔다(일단, 환경 의존 정보는 되도록 미들웨어 설정에 놓치는 사상하의 경우에서는 유효)
※ 로드 밸런서·클라우드 WAF 경유의 올바른 경로외의 액세스인가 어떤가도 판단하는 것은 어려운 것이 나중에 알게 되므로, 올바른 경로외의 액세스는 끊어지고 있는 것이 전제. 뭐, 원래 그 시점에서 부하나 공격으로부터 지켜지지 않는다고 하는 것이므로 아무쪼록.
클라이언트 ⇒ 로드 밸런서 경유 ⇒ 서버 행
Designed by Mermaid.js
서버에 도착했을 때는 XFF를 보면 금붕어의 훈 상태입니다만, 요점은 제일 뒤를 보면 좋다.
서버의 Apache에 다음 설정을 넣으면 올바른 IP로 리필 할 수 있어야합니다. (잘못되면 지적해 주세요.)
Apache (httpd.conf/.htaccess)
SetEnvIf X-Forwarded-For ", " multiforward
RewriteCond %{HTTP:X-Forwarded-For} ,\ (.+)$
RewriteRule .* - [E=CENV_CLIENT_ADDR:%1]
RequestHeader set X-Forwarded-For "%{CENV_CLIENT_ADDR}e" env=multiforward
클라이언트 ⇒ 클라우드 WAF 경유 ⇒ 로드 밸런서 경유 ⇒ 서버 행
Designed by Mermaid.js
서버는 무엇을 볼 수 있습니까? 요점은 **뒤로부터 제공 서비스 내에서 경유된 수(위의 예에서는 2번째)**를 보면 된다.
서버의 Apache에 다음 설정을 넣으면 올바른 IP로 리필 할 수 있어야합니다. (잘못되면 지적해 주세요.)
Apache (httpd.conf/.htaccess)
SetEnvIf X-Forwarded-For ", " multiforward
RewriteCond %{HTTP:X-Forwarded-For} ([0-9\.]+)(,\ [0-9\.]+){1}$
RewriteRule .* - [E=CENV_CLIENT_ADDR:%1]
RequestHeader set X-Forwarded-For "%{CENV_CLIENT_ADDR}e" env=multiforward
2행째 마지막
{1}
의 숫자는 뒤에서 날리는 수. 뒤에서 2번째의 경우는 '뒤에서 1개 날린다'는 의미로 '1'을 지정하고 있다.
Reference
이 문제에 관하여(로드 밸런서 또는 클라우드 WAF를 통해 X-Forwarded-For를 사용하는 경우 Apache 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/RAWSEQ/items/6d4163bdbb1e383553ba텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)