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

해결 방법
WordPress 루트 디렉터리에 있는 wp-config.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 주소를 정확하게 가져올 수 있습니다.