Apache 为假人设置基本身份验证Solr 5.3.1
好的,所以我不是服务器专家,但我需要弄清楚如何为我们的solr服务器管理页面设置身份验证。我尝试按照此处概述的步骤进行操作: 我甚至不能完成第一步,上传JSON文件。我创建了JSON文件,但是当我上传它时,在尝试运行zkcli.sh时,我得到了一个“command not found”错误。我需要先和Zookeeper建立一些东西才能运行它吗?我应该检查什么 编辑:我在线学习了一些教程,并做了以下工作: 1) 通过添加以下行将jetty-http.xml设置为localhost(将主机更改为127.0.0.1):Apache 为假人设置基本身份验证Solr 5.3.1,apache,solr,jetty,reverse-proxy,centos7,Apache,Solr,Jetty,Reverse Proxy,Centos7,好的,所以我不是服务器专家,但我需要弄清楚如何为我们的solr服务器管理页面设置身份验证。我尝试按照此处概述的步骤进行操作: 我甚至不能完成第一步,上传JSON文件。我创建了JSON文件,但是当我上传它时,在尝试运行zkcli.sh时,我得到了一个“command not found”错误。我需要先和Zookeeper建立一些东西才能运行它吗?我应该检查什么 编辑:我在线学习了一些教程,并做了以下工作: 1) 通过添加以下行将jetty-http.xml设置为localhost(将主机更改为1
<Set name="Host"><SystemProperty name="jetty.host" default="127.0.0.1"/></Set>
2) 我还向apache配置文件添加了以下内容(obv在htpasswd路径中更改为正确路径):
AuthName“安全区域”
AuthType Basic
AuthUserFile/path/to/htpasswd/.htpasswd需要有效的用户
ProxyPass/solrhttp://localhost:8983/solr
ProxyPassReverse/solrhttp://localhost:8983/solr
3) 我通过htpasswd设置了密码。
4) 我重新启动了服务器。我刷新了solr页面,什么也没有;这是一个断开的链接
我做错了什么
(不幸的是,每次我这样做时,solr核心也会消失并拒绝加载。不过这是另一个问题,我认为这与权限有关,但似乎不是…)您可以按照以下步骤在solr中完成基本的身份验证工作。 假设您有ubuntu操作系统,并使用安装脚本安装了服务器 第一步。sudo vi/opt/solr/server/etc/jetty.xml 在“”标记之前的文件末尾添加以下代码
用户名和密码存储在以下文件/opt/solr/server/etc/realm.properties感谢您的回复,非常感谢。我们在CentOS 7上运行solr 5.3.1。我找到了这两个文件,这看起来更简单,但是“在”“标记之前”是指在关闭Configure标记()之前吗?您可以简单地将其附加到文件的末尾。您好,我花了一段时间才回到这一点,但现在我有一个新的相关问题。面板的身份验证工作正常,但现在Omeka(我运行的php应用程序是为了使用solr)在尝试添加或编辑文件时在内部产生此错误:异常“Apache_solr_HttpTransportException”,在[domainname]/httpdocs/Omeka/plugins/SolrSearch/lib/solr php client/Service.php:364中显示消息“401”Status:Unauthorized”。第364行写着:抛出新的Apache_Solr_HttpTransportException($solrResponse);FWIW,我和一个更熟悉Omeka的人谈过,那个人说更改应用程序的代码来处理基本身份验证并不容易(至少不容易),但补充说“使用Apache作为Solr的反向代理,为代理路径设置基本身份验证,并通过防火墙阻止对Solr端口的访问”——你知道我会怎么做吗?我正在网上搜索教程…另一个更新。我在线学习了一些教程,并做了以下工作:1)通过添加以下行将jetty-http.xml设置为localhost(将主机更改为127.0.0.1):。2) 我还向apache配置文件添加了以下内容:AuthName“Secure Area”AuthType Basic AuthUserFile/path/to/htpasswd/.htpasswd需要有效的用户ProxyPass/solr ProxyPassReverse/solr 3)我通过htpasswd设置密码。
<Location /solr >
AuthName "Secure Area"
AuthType Basic
AuthUserFile /path/to/htpasswd/.htpasswd require valid-user
</Location>
ProxyPass /solr http://localhost:8983/solr
ProxyPassReverse /solr http://localhost:8983/solr
<Call name="addBean">
<Arg>
<New class="org.eclipse.jetty.security.HashLoginService">
<Set name="name">Test Realm</Set>
<Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set>
<Set name="refreshInterval">0</Set>
</New>
</Arg>
</Call>
<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>core1-role</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Test Realm</realm-name>
</login-config>
USERNAME: PASSWORD,core1-role