java - Solr 身份验证可能吗? (或者 apache 端口身份验证也可以)

标签 java php database linux

目前任何人都可以通过访问 my_ip:8983/solr 访问 solr 管理页面

我不能那样做,那么我怎样才能让它提示输入密码或其他东西呢?

我已将我的服务器 apache2.conf 文件设置为每当 www.mydomain.com 访问我的网站时提示输入密码。

但是当使用另一个端口时,“需要密码”不会出现。

有什么想法可以确保这一点吗?

不要向我指出 SolrSecurity wiki,因为它太过时了。我已经尝试过了,但没有成功。

谢谢

最佳答案

好吧,这可能有点啰嗦,因为原始发布者不知道网络接口(interface),所以我们开始吧......


网络接口(interface)

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

此外,您还会有一个称为环回接口(interface)的东西 - 一个虚拟接口(interface),类似于您的计算机与自身对话的能力:) 现代系统通常带有一个配置有 IP 地址 127.0.0.1 的环回接口(interface)。这允许您的计算机假装联网,即使它没有联网,使一些内部操作更加通用。

现在,当您启动一个网络应用程序时,您通常需要告诉它使用哪个接口(interface),或者用某些应用程序的行话来说“要绑定(bind)到哪个地址”。例如,Apache 使用 listen为此的指令。继续阅读。

接口(interface)如何与可用性相关

假设您的 Apache 服务器正在监听一个配置有公共(public)互联网 IP 地址的接口(interface)...世界上任何人都可以通过 IP 地址或通过 DNS 访问 Apache 提供的任何服务解析为该地址的名称...

这通常是您的 solr 实例目前正在发生的事情。

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

解决方案

解决方案如下:

  1. 将 solr 配置为仅通过环回接口(interface)接受请求(或它所做的任何事情)。您可能需要更改一些参数,例如“监听”、“绑定(bind)”或类似的东西。

  2. 将 Apache 配置为反向代理它在 solr 的公共(public)接口(interface)上收到的请求。

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

如果您在此之后仍然卡住,请继续询问,虽然我没有任何 solr 经验,但我可以详细介绍。

关于java - Solr 身份验证可能吗? (或者 apache 端口身份验证也可以),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2936544/

相关文章:

php - 如何标准化标签表

java - 从数据库查询中过滤值

php - Zendframework Rowset 按键选择

java - 为什么我在 Java 中实现的随机 Prim 算法只生成了完整的网格?

java - 从网页启动小程序

php - gmail 不断阻止 PHPmailer 登录

php - 解码 mysql_real_escape_string() 以输出 HTML

java - 来自 SpringMVC Controller 的 JSON 响应不起作用

java - 在不同的目录中使用类文件

php - 如何从 bash 和 php 脚本更新 Bugzilla 错误?