Solr安全管理,
摘要: 在搭建好Solr以后,我们可以通过Solr Admin Page管理页面简单的使用Solr,当然不希望这样的页面对外公开访问。可以通过认证的方式加密Solr admin page。
Solr admin page不安全
在Solr的管理页面可以做很多操作,不限于常用的查询命令,你还可以通过在Query页面更改Request-Handler
来更新甚至删除数据。
需要认证的HTTP请求
我使用的测试环境是win7+Solr6.0+jetty9.3.8
更改Solr配置
在.\webapps\solr\WEB-INF中,找到web.xml
文件。
在文件中添加如下验证配置:
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Solr manage</realm-name>
</login-config>
<security-constraint>
<web-resource-collection>
<web-resource-name>Solr Admin Access</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>user</role-name>
</auth-constraint>
</security-constraint>
- realm-name:给服务器识别用的名字,需要和待会儿设置的call-name一致。
- role-name:角色名,需要和待会儿设置的角色名一致。
更改jetty配置
在jetty安装目录下,找到.\etc\jetty.xml。
在文件中添加如下验证配置:
<Call name="addBean">
<Arg>
<New class="org.eclipse.jetty.security.HashLoginService">
<Set name="name">Solr manage</Set>
<Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/simple.txt</Set>
<Set name="refreshInterval">0</Set>
</New>
</Arg>
</Call>
- name:上面设置的realm-name
- config:需要把用户名文件放置在哪里,我设置的是./etc/simple.txt,需要在与jetty.xml文件相同路径下新建文件simple.txt。
在新建的文件中配置用户名,密码等。
admin:pass,user
这里的admin是需要用到的用户名,pass是密码,user就是刚才配置的role-name。注意配置的格式。
访问Solr admin page
重启Solr,访问http://localhost:8080/solr/index.html,需要验证:
如果不能正确输入用户名,密码,就会返回401
HTTP ERROR 401
Problem accessing /solr/index.html. Reason:
Unauthorized
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。