【问题标题】:Solr with Jetty on LAMP server - Admin page access issue在 LAMP 服务器上使用 Jetty 的 Solr - 管理页面访问问题
【发布时间】:2014-01-27 20:47:04
【问题描述】:

我有 Solr 及其默认 Jetty,它附带示例目录安装在 Linux 服务器上,该服务器具有 apache2 作为其 Web 服务器

现在,在同一个专用 LAN 中,当我打开浏览器并输入 http://<ip-address>:8983/solr在我进行端口转发时起作用否则它不起作用。我不确定可能是什么问题?请注意,此安装是在用于生产部署的托管环境中的远程服务器上完成的,我是 wrt 部署的初学者。

【问题讨论】:

    标签: linux apache solr apache2 jetty


    【解决方案1】:

    您可以在启动过程中使用jetty.host 参数来允许直接访问Jetty。

    java 命令的 -D 选项可以与以下语法一起使用:

    java -Djetty.host=0.0.0.0 -jar start.jar
    

    通过这种方式,可以从所有主机访问 Jetty。

    但是,恕我直言,这不是理想的设置。我更喜欢将 Jetty 设置为仅在 localhost 上侦听,使用另一台在端口 80 上侦听的前端服务器实现客户端。如果您想在另一台服务器上实现前端,您可以使用 iptables 来限制传入连接,将所有内容放在 8983 端口上如果 IP 与您的前端服务器不同。

    这张图片描述了我对 LAMP 堆栈的首选设置,包括 SOLR:

    【讨论】:

    • 非常感谢 elbuild!我在使用 solr url(solr、php、apache2、jetty,都在一个服务器中)的同一台 Linux 服务器上为 Apache2 提供了前端的 php 应用程序。那么,在那种情况下,可以做些什么呢?
    • Apache 监听所有 IP 的 80 端口,Jetty 监听 8983 端口上的所有 IP。iptables 规则排除(丢弃)8983 上的所有 TCP 连接,但那些来自您的盒子 IP 的连接。通过这种方式,您仍然可以访问 Solr 管理员 (Solritas),但您的设置是安全的并且可以用于生产。
    • 太棒了!我现在明白了很多。为了让 iptables 排除 8983 上除本地 IP 之外的所有 TCP 连接,我需要在 iptables "/etc/sysconfig/iptables" 中添加一条规则??
    • 是的。请记住保存或重新启动 iptables 以应用规则
    • 作为试用,我试过“java -Djetty.host=0.0.0.0 -jar start.jar”,还是无法访问http://: 8983/solr :(
    猜你喜欢
    • 1970-01-01
    • 2020-07-31
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 2014-03-12
    • 2016-07-13
    • 1970-01-01
    • 2012-06-03
    相关资源
    最近更新 更多