톰캣(Tomcat) 서비스에서 특정 IP 웹접근 차단은 어떻게 하나요?
💡 요약 정리
- Tomcat 광호스팅은 ‘나의 서비스 관리’에서 IP 차단 기능이 제공되지 않습니다. server.xml에서 직접 설정하세요.
- 프록시 구조이므로 RemoteIpValve + remoteIpHeader="X-Forwarded-For" 설정이 필요합니다.
- 파일 경로: /아이디/tomcat/conf/server.xml
- 추가 위치: server.xml 최하단의
<HOST> … </HOST>사이에 아래 구문을 추가합니다. - 등록·수정 후 반드시 톰캣을 재시작해야 반영됩니다. 경로: 나의 서비스 관리 > 기본관리 > 톰캣재시작
1. Tomcat 광호스팅에서 특정 IP 차단 방법
- Tomcat 광호스팅은 단독 톰캣 구조이므로, 나의 서비스 관리 내 IP 차단 기능이 제공되지 않습니다.
- 특정 IP 웹접근 차단은 소스 설정으로 적용하며, 서버 내 server.xml 파일에서 설정합니다.
- 이용 중인 톰캣 서버는 프록시(proxy) 형태로 구성되어 있으므로, RemoteIpValve의 remoteIpHeader="X-Forwarded-For" 설정이 필요합니다.
1) 파일 경로와 편집 위치
- 경로: /아이디/tomcat/conf 내 server.xml 파일
- 설정방법: server.xml 파일 내 최하단
<HOST> … </HOST>사이에 아래 구문을 추가합니다.
<Valve className="org.apache.catalina.valves.RemoteIpValve"
internalProxies="^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$"
remoteIpHeader="X-Forwarded-For"/>
<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="차단대상ip기재"/>
2) 예시: IP 대역(1~255) 차단
- IP 대역(1~255) 차단은 와일드카드(*)로 등록합니다.
<Valve className="org.apache.catalina.valves.RemoteIpValve"
internalProxies="^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$"
remoteIpHeader="X-Forwarded-For"/>
<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="123.123.123.*"/>
3) 예시: 서로 다른 IP 여러 개 차단
- 서로 다른 IP를 두 개 이상 차단하려면 아래처럼 여러 줄로 추가합니다.
<Valve className="org.apache.catalina.valves.RemoteIpValve"
internalProxies="^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$"
remoteIpHeader="X-Forwarded-For"/>
<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="111.222.111.222"/>
<Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="222.333.222.333"/>
2. 설정 적용을 위한 톰캣 재시작
- 주의: 등록 및 수정할 때마다 반드시 톰캣 재시작을 해야 반영됩니다.
- 경로: 나의 서비스 관리 > 기본관리 > 톰캣재시작
3. 64bit JSP 광호스팅 이용자 안내
- 64bit JSP 광호스팅의 경우 아래 링크를 참고해 설정할 수 있습니다.
- 특정 국가,IP,폴더만 접속이 안되도록 제한할 수 있나요?