在Ubuntu14上安装了Solr6.1并从MySql表中导入了数据。有人可以指导我如何确保mydomain/ip:8983/solr来自公众。如何确保solr 6管理页面
我试着在https://cwiki.apache.org/confluence/display/solr/Basic+Authentication+Plugin上给出指令,但在添加security.json时zookeepr连接失败。
在Ubuntu14上安装了Solr6.1并从MySql表中导入了数据。有人可以指导我如何确保mydomain/ip:8983/solr来自公众。如何确保solr 6管理页面
我试着在https://cwiki.apache.org/confluence/display/solr/Basic+Authentication+Plugin上给出指令,但在添加security.json时zookeepr连接失败。
首先去你webdefault.xml
目前在etc
目录。在你的web.xml中放入下面的行。
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>samplerealm</realm-name>
</login-config>
<security-constraint>
<web-resource-collection>
<web-resource-name>Secure resources</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>user</role-name>
</auth-constraint>
</security-constraint>
在etc
文件夹中创建一个samplerealm.txt
文件,并添加follwing内容到该文件user1: user1pass,user
。这里user1是你的用户名,user1pass是你刚才在web.xml
中定义的角色user
的密码。之后去到jetty.xml
文件在您etc
文件夹,查找下面略低于该行线<Configure id="Server" class="org.eclipse.jetty.server.Server">
粘贴以下代码:
<Call name="addBean">
<Arg>
<New class="org.eclipse.jetty.security.HashLoginService">
<Set name="name">samplerealm</Set>
<Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/samplerealm.txt</Set>
<Set name="refreshInterval">0</Set>
</New>
</Arg>
</Call>
之后,停止并重新启动Solr的服务器。当您现在访问solr页面时,它会要求您提供凭据。如您的示例realm.txt文件中所声明的,将user1作为您的用户名并将user1pass作为密码。稍后,您可以根据需要更改密码。这就是你如何在Solr中进行http基本认证。它工作100%。让我知道如果这有助于:)
您可以启用SSL。我不确定这是否是所需的安全性 - 您必须提供更多信息。
使用SSL,您至少能够加密SolrCloud和客户端之间的通信以及Solr节点间通信。
链接启用SSL:https://cwiki.apache.org/confluence/display/solr/Enabling+SSL
没有SSL,我们不能没有SSL –
谢谢,它按需工作 –
耶! :) 乐于帮助 。 –
我不明白我是否必须更新web.xml或webdefault.xml。在webdefault.xml中已经有它需要删除它吗? –
Alessandra