WordPress에서 CDN 활성화 후 실제 IP를 가져오지 못하는 문제 해결
4,109 0
어제 막 댓글 이메일 알림 기능 「WordPress 이메일 답장 스타일 꾸미기」를 활성화했는데, 이메일에 표시된 댓글 작성자의 IP가 잘못되어 있는 것을 발견했습니다. WordPress가 CDN의 IP 노드를 가져오고 있었던 것입니다.
이렇게 되면 웹사이트 방문자의 지역 관계를 분석하기 어려워질 뿐만 아니라, WordPress에 기본으로 내장된 IP 댓글 차단 기능도 작동하지 않게 됩니다. 그래서 이 문제를 해결하고자 했습니다. 관련 내용을 인터넷에서 찾아보다가 나중에 환살 블로그에서 완벽한 해결 방법을 찾았기에, 아래에서 여러분과 공유하려고 합니다.

해결 방법
WordPress 루트 디렉터리에 있는 wp-config.php 파일을 열고, 파일 맨 아래에 다음 코드를 추가합니다.
PHP PHP
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$list = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
$_SERVER['REMOTE_ADDR'] = $list[0];
}
원리
CDN의 HTTP 헤더에는 방문자의 IP 데이터가 기록되어 있습니다. 위 코드는 WordPress의 IP 관련 변수를 $_SERVER에서 가져온 값으로 바꾸는 것입니다. 위 코드는 모든 CDN 및 리버스 프록시에 사용할 수 있으며, IP 주소를 올바르게 가져올 수 있습니다.
댓글
(0)아직 댓글이 없습니다