Solr专题(四)Solr安全设置

因为solr的admin界面默认只需要知道ip和端口就能直接访问,如果被别有用心的人盯上就很容易给你的系统带来重大的破坏,所以我们应该限制访问。

请注意本例使用的是Solr7

Solr集成了以下几种验证方式:

  1. Basic自定义身份验证方式

  2. Kerberos身份验证方式

  3. Hadoop身份验证方式

  • 最简单的一种大概就是限制solr服务的访问ip,如果使用tomcat当做容器,可以在server.xml中配置可访问的ip
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1,192.168.208.119"/>
  • 使用Basic认证

添加用户配置文件realm.properties:

admin:admin123,solr_admin  

 格式如下:
<username>: <password>[,<rolename> ...]
userName: password,role


所以此处用户名userName为admin,登录密码password为admin123,角色rolename为solr_admin。

在/server/solr-webapp/webapp/WEB-INF/web.xml中添加如下内容:

<security-constraint>  
    <web-resource-collection>  
      <web-resource-name>solr</web-resource-name>  
      <url-pattern>/</url-pattern>  
    </web-resource-collection>  
    <auth-constraint>  
      <role-name>solr_admin</role-name>  
      <role-name>admin</role-name>  
    </auth-constraint>  
   
    <login-config>  
      <auth-method>BASIC</auth-method>  
      <realm-name>Solr Admin</realm-name>  
    </login-config>  
</security-constraint> 

在/server/contexts/solr-jetty-context.xml中的Configure属性中添加:

<Get name="securityHandler">    
         <Set name="loginService">    
                 <New class="org.eclipse.jetty.security.HashLoginService">    
                         <Set name="name">admin</Set>
                        <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set>    
                 </New>    
         </Set>    
</Get> 

重启solr,访问admin界面,提示需要输入密码才能访问。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值