IP로 접근제한 할려면 Context안에 설정해주면 된다.
tomcat/conf/Catalina/localhost/solr.xml 파일에 Value 추가한다.
<?xml version='1.0' encoding='utf-8'?> <Context crossContext="true" debug="0" docBase="/home/solr/tomcat/webapps/solr" priviledged="true"> <Environment name="solr/home" override="true" type="java.lang.String" value="/search_data/solr/example/solr" /> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="10\.0\.96\.*|114\.119\.135\.116|114\.119\.145\.146|210\.25\.139\.101" /> </Context>
주의할점은 IP적을 때 . 앞에 \ 붙여 한다. 안 그러면 정규표현식이 되면서 . 는 아무 문자라는 뜻이 된다.
그리고 여러개의 IP를 넣을려면 | 로 구분자를 쓰면 된다.
id, pass 형식으로 접근제할려면
tomcat/conf/tomcat-users.xml 파일에 유저정보 추가하고
<tomcat-users> <role rolename="solr "/> <user username="solr" password="1234" roles="solr"/> </tomcat-users>
tomcat/webapps/solr/WEB-INF/web.xml 에 아래 내용 추가한다.
<web-app> .... <security-constraint> <web-resource-collection> <web-resource-name>Solr Lockdown</web-resource-name> <url-pattern>/</url-pattern> </web-resource-collection> <auth-constraint> <role-name>solr</role-name> <role-name>admin</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> <realm-name>Solr</realm-name> </login-config> </web-app>
이부분에서 rolename을 매칭시켜야 한다.