Solr HTTP BASIC 认证

Solr安全性最简单的就是 HTTP Basic 认证了,以下配置方法。

进入Solr的主目录(数据目录,默认是example),Solr 5 以后是server目录。

修改 contexts/solr-jetty-context.xml

中增加配置段,指向用户名密码配置文件:

<!-- 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 文件

记录账号密码信息:

admin: MD5:075bb5c7775f24d25efee313237e8689,role

注意HTTP AUTH暴力破解非常容易,所以需要使用超强密码。

修改 solr-webapp/webapp/WEB-INF/web.xml

在最下面 段加入:

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