Solr 安全性最简单的就是 HTTP Basic 认证了,以下配置方法。
进入 Solr 的主目录(数据目录,默认是example),Solr 5 以后是 server 目录。
修改 contexts/solr-jetty-context.xml :
在中增加配置段,指向用户名密码配置文件:
1 2 3 4 5 6 7 8 9
| <!-- http auth --> <Get name="securityHandler"> <Set name="loginService"> <New class="org.eclipse.jetty.security.HashLoginService"> <Set name="name">Test Realm</Set> <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set> </New> </Set> </Get>
|
新增 etc/realm.properties 文件
记录账号密码信息:
1
| admin: MD5:075bb5c7775f24d25efee313237e8689,role
|
注意HTTP AUTH暴力破解非常容易,所以需要使用超强密码。
修改 solr-webapp/webapp/WEB-INF/web.xml
在最下面段加入:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <security-constraint> <web-resource-collection> <web-resource-name>Solr authenticated application</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>role</role-name> </auth-constraint> </security-constraint>
<login-config> <auth-method>BASIC</auth-method> <realm-name>Test Realm</realm-name> </login-config>
|
重启 Solr 测试