중간 프록시가 있는 경우 Cloudflare 템플릿이 작동하지 않음

여기서 무슨 일이 일어나고 있는지 정확히 파악하지는 못했지만, Cloudflare 템플릿을 활성화한 후에도 Discourse 관리자 화면에서 신규 사용자 등록 IP와 마지막 접속 IP에 Cloudflare IP가 여전히 표시되고 있습니다.

런처를 사용하여 앱에 진입하여 /etc/nginx/conf.d/discourse.conf 파일에 다음 줄들이 포함되어 있는지 확인했습니다:

set_real_ip_from 173.245.48.0/20;
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2a06:98c0::/29;
set_real_ip_from 2c0f:f248::/32;
real_ip_header CF-Connecting-IP;

그러나 여전히 마지막 IP 주소 값으로 172.68.133.64(위의 주소 범위 내에 포함된 Cloudflare IP)와 같은 값이 표시되고 있으며, 로그 항목에서도 여전히 Cloudflare IP가 확인됩니다.

service nginx reload 명령을 실행해 보았으며 성공적으로 실행된 것으로 보이지만, 여전히 Cloudflare IP가 표시됩니다.

이 문제를 더 자세히 디버깅하거나 수정하는 방법에 대해 조언을 주실 수 있는 분이 있을까요?

물론 이 글을 올린 직후 문제를 찾았습니다. 제 서버 설정에 Cloudflare와 Discourse 사이에 또 다른 중계 프록시가 있다는 것을 잊고 있었습니다. 그 프록시는 원래 IP를 Discourse로 전달하도록 설정되어 있지 않았습니다.

Cloudflare에서 다양한 웹 서버/프록시에서 원래 IP를 복원하는 방법: https://support.cloudflare.com/hc/en-us/articles/200170786

혹시 저처럼 깜빡하시는 분이 있을까 봐 이 주제를 열어두겠습니다. :smiley: