gpt4 book ai didi

security - 如何仅保护 Solr 5.3.1 管理页面

转载 作者:行者123 更新时间:2023-12-03 22:40:55 25 4
gpt4 key购买 nike

我对 Solr 相当陌生,过去一天半我一直在研究这个,最后转向这里。

我有一个 Solr 服务器启动并运行,我让我的网络管理员在防火墙中配置了一个规则,以便我们可以访问它以从我的 JavaScript 应用程序进行查询。这有效。我遇到的问题是 Solr 管理页面完全向世界开放,我已经尝试了各种帖子中描述的所有内容,但 ZooKeeper 方法除外,我真的不想尝试因为我对设置不感兴趣ZooKeeper 和 SolrCloud。

引用帖子:http://muddyazian.blogspot.com/2013/11/how-to-require-password-authentication.html和其他一些

我所做的是修改 jetty.xml /opt/solr/server/etc 并添加了这个

<Call name="addBean">
<Arg>
<New class="org.eclipse.jetty.security.HashLoginService">
<Set name="name">Solr Admin Access</Set>
<Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set>
<Set name="refreshInterval">0</Set>
</New>
</Arg>
</Call>

然后我加到 web.xml /opt/solr/server/solr-webapp/webapp/WEB-INF 下面的配置

<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>admin</role-name>
</auth-constraint>
</security-constraint>

<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Solr Admin Access</realm-name>

</login-config>

然后我创建了一个 realm.properties 文件,根据这篇文章对密码进行了哈希处理 Jetty/SOLR Admin Panel Password

Solr 现在是安全的,但一切都受密码保护,我希望我的查询是开放的,其余的受到保护。我尝试添加不同的 url 模式,例如/admin/* 、/mycollection/dataimport/* 等,但这些似乎都不会影响查询也是安全的这一事实。引用 https://gist.github.com/jstrassburg/9777027

最佳答案

遵循 Exclude a JSP from web.xml's security-contraint 的建议您可以按原样保留配置,但公开您希望公开的端点。

所以你可以添加一个 <security-constraint>像这样对你的 web.xml ,但忽略 <auth-constraint>对于匹配的 <url-pattern> .这将使它向公众开放。除了 Solr 实例其余部分的基本身份验证之外,您还可以逐步公开应该公开的核心或处理程序。

<security-constraint>
<web-resource-collection>
<web-resource-name>mycollection</web-resource-name>
<url-pattern>/mycollection/*</url-pattern>
</web-resource-collection>
</security-constraint>

需要注意的是,您需要添加任何应公开的内容作为自己的 URL 模式。但这也可能是一个加分项,因为您可以选择对集合进行细粒度的访问控制 - 例如每个集合一个用户。

关于security - 如何仅保护 Solr 5.3.1 管理页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33750045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com