2012-01-18 37 views
1

我有我的服务器在Jetty容器中的本地主机上运行Solr。如何从外部IP地址访问Solr?

这似乎是一个明显的问题,但是如何从服务器本身外部访问Web界面,如从外部IP地址访问?显然,认证作为任何解决方案的一部分都很重要。

我也在服务器上运行Apache2,如果这是一个很好的解决方案。我很惊讶,我找不到任何关于此的事情。

回答

3

我终于在回答这个跌跌撞撞。我并不需要持久访问Solr管理面板,因此我可以使用SSH中的local port forwarding轻松访问它。

所有我需要做的就是运行在终端我的本地机器上执行以下操作:

ssh -L 8983:localhost:8983 [email protected] -N 

然后打开我的浏览器http://localhost:8983/solr/

比建立一个Apache的配置,做代理要容易得多,还有其他什么。

+1

有些人花时间给你答案的基础上你问什么,你甚至没有upvote他们。然后,根据你所知道的,你已经添加了自己的答案,但是你没有在你的问题中说出。下次你应该告诉更多,让我们来帮助你。再见! – javanna 2012-02-06 21:20:36

+1

我不是说你已经知道了,你自己的答案当然是受欢迎的。这就是你正在寻找的解决方案,太棒了!但是你要求提供一种提及apache和认证的强大解决方案,而你选择的解决方案与此无关。因此,你是唯一能够提供有用答案的人,这对其他人来说并不愉快。至少得到赞扬可能是一个好兆头。我希望你明白我的意思,这不是成绩问题。 – javanna 2012-02-08 19:56:06

+0

顺便说一句,我删除了我的答案,因为我讨厌不接受没有投票的答案,没有难过的感觉! :) – javanna 2012-02-08 20:01:07

0

它取决于您的Jetty ContextPath。例如:

.... 
    WebAppContext explorerWebapp = new WebAppContext(); 
    explorerWebapp.setContextPath("/solr"); 
    .... 

,然后就浏览到您的索引:

http://localhost:PORT/solr/ 
+0

我现在不能测试这个,但是这是一种提供访问的安全方式吗?似乎直接打开码头到Jetty会有风险。 – mlissner 2012-01-18 20:53:03

+0

使用localhost,你只能在本地访问。您可以直接打开码头端口,但最好通过机器/网络外部的代理进行访问。 – javanna 2012-01-18 21:11:00