我對Solr相當新穎,我一直在研究這一切,過去一天和一半,最後轉向這裏。我如何確保Solr 5.3.1只有管理頁面
我有一個Solr服務器啓動並運行,我的網絡管理員在防火牆中配置了一條規則,以便我們可以從我的JavaScript應用程序訪問它。這工作。我遇到的問題是Solr管理頁面完全向全世界開放,我嘗試了各種帖子中所描述的一切,除了ZooKeeper方法之外,我不想試試因爲我對設置不感興趣up ZooKeeper和SolrCloud。
參考職位:http://muddyazian.blogspot.com/2013/11/how-to-require-password-authentication.html和其他一些
我所做的修改的jetty.xml在的/ opt/Solr的/服務器的/ 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 in /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
我自己偶然發現了這個。從5.4開始,已經添加了更多基於角色的安全功能,並且我已經設法鎖定使用規則的讀取和更新,如[此處]所述(https://cwiki.apache.org/confluence/display/solr/)基於規則的+授權+插件)。但是,管理面板本身仍然是開放的。 我們所要做的就是要求基本認證來訪問Solr 5中的任何東西。 –
另請參閱:http://stackoverflow.com/questions/33263535/ –
Aha。發佈賞金後不久,我發現[這個答案](http://stackoverflow.com/a/34348204/27614)實際上有一個解決方案,但它只適用於SolrCloud。 Solr尚不支持獨立模式下的基本身份驗證。我假設他們在[APF JIRA](https://issues.apache.org/jira/)上有這張票,但我找不到它。 –