의뢰를 받아 CloudFlare만 IP 통신할 수 있도록 Tomcat IP 접근제어 작업을 수행했다.
CloudFlare에서 공식적으로 제공하는 문서의 IP만 통신할 수 있도록 Tomcat설정을 진행하였다. 그러나 일부 단말기 정확히 말하면 일부 통신 Node에서 해당 사이트에 Access Denied가 발생하는 것이 였다. CloudFlare의 IP정보 작성일은 2021년도로 상당히 오래되었다. 그 동안 CloudFlare의 서비스가 증가함에따라 추가적인 IP를 할당받아 쓴다고 추측을 하였다.
이에 Tomcat으로 들어오는 요청들에 대하여 403 Status Code를 분석한 결과 특정 대역으로 접속 시도를 했다. 바로 SK브로드 밴드 대역(222.239.225.0/24) 이었다. 해당 대역을 등록후 Tomcat을 재기동 하자 특정 Node로부터의 접속을 허용하였다. CloudFlare에서 공식적으로 작성되어있지 않은 대역으로 네트워크 구조가 어떻게 되어있는지는 정확하게 알 수 없다.
3줄 요약
1. CloudFlare에서 공식적으로 공표한 IP대역 문서가 오래되었다.
2. 일부 지역에서 Tomcat에 접근하지 못하는 이슈가 있었다.
3. 공식 IP에 SK 브로드 밴드 대역을 추가하여 접속불가를 해소하였다.
CloudFlare 및 SK브로드밴드 대역만 허용하는 Context.xml
# context.xml
<Valve className="org.apache.catalina.valves.RemoteCIDRValve"
allow="127.0.0.1, 2400:cb00::/32, 2606:4700::/32, 2803:f800::/32, 2405:b500::/32, 2405:8100::/32, 2a06:98c0::/29, 2c0f:f248::/32, 173.245.48.0/20, 103.21.244.0/22, 103.22.200.0/22, 103.31.4.0/22, 141.101.64.0/18, 108.162.192.0/18, 190.93.240.0/20, 188.114.96.0/20, 197.234.240.0/22, 198.41.128.0/17, 162.158.0.0/15, 104.16.0.0/13, 104.24.0.0/14, 172.64.0.0/13, 131.0.72.0/22, 222.239.225.0/24 "/>