可以进行Solr认证吗? (或apache端口身份验证也可以)

时间:2010-05-29 20:42:40

标签: java php database linux

目前,任何人都可以访问 my_ip:8983 / solr

来访问solr管理页面

我不能那样,所以如何让它提示输入密码?

我已经设置了我的服务器apache2.conf文件,以便在 www.mydomain.com 访问我的网站时提示输入密码。

但是当使用其他端口时,“要求密码”不会显示。

任何想法如何确保这一点?

不要指向SolrSecurity wiki,因为它太过时了。我没试过就试过了。

由于

2 个答案:

答案 0 :(得分:2)

好吧,由于原版海报不了解网络接口,这可能有点长篇大论,所以我们走了......


网络接口

连接到网络的计算机通常具有网络接口的概念,这是一种抽象,将IP配置数据(地址,网络掩码,DNS服务器等)组合到与网络通信的硬件设备(您的以太网)卡,你的wifi卡,等等。

此外,您还可以使用一种称为环回接口的东西 - 一种类似于您的计算机与自身通信的虚拟接口:)现代系统通常带有一个配置了IP地址为127.0.0.1的环回接口。这允许您的计算机伪装成网络,即使它不是,使一些内部操作更通用。

现在,当您启动联网应用程序时,通常需要告诉它使用哪个接口,或者在某些应用程序的“术语”中指示绑定。例如,Apache为此使用listen指令。去读一读。

接口与可用性的关系

假设您的Apache服务器正在侦听配置了公共Internet IP地址的接口......世界上任何人都可以通过IP地址或通过DNS访问Apache所服务的任何内容解析为该地址的名称...

这通常是你的solr实例正在发生的事情。

现在,关于环回接口的重点是,绑定到本地接口的内容只能从该计算机访问。我想你可以看到我们要去的地方。

解决方案

解决方案如下:

  1. 将solr配置为仅通过环回接口接受请求(或其任何操作)。您可能需要更改一些参数,例如“收听”,“绑定”或类似的东西。

  2. 配置Apache以将其在公共接口上收到的请求反向代理到solr。

  3. 让Apache通过基本HTTP身份验证等方式授权请求。

  4. 如果你在此之后仍然被困,请询问,我可以详细介绍,但我没有任何solr经验。

答案 1 :(得分:1)

我不是这方面的专家。我自己只需要这个。在app或webcat / conf / web.xml的web.xml中,执行以下所述的操作:

http://www.alexxoid.com/blog/linux/restrict-access-tomcat-web-app.html

在执行此操作时,我发现以下链接可用于设置它:

http://oreilly.com/java/archive/tomcat-tips.html

http://www.unidata.ucar.edu/projects/THREDDS/tech/reference/RestrictedAccess.html

http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html

提示:代替代理人可以使用更快的mod_jk