0%

Solr HTTP BASIC 认证

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 测试