我在Windows Server 2012上运行Solr 4.10.1 Jetty实例。
我使用随下载附带的简单示例Jetty版本,并通过运行java -jar start.jar
(来自solr-4.10.1 \ example),我能够通过{{从Windows Server访问我的Solr实例1}}。
现在我想远程访问Solr / Jetty实例,即从另一台计算机访问。即我希望能够通过从远程客户端/计算机到http://localhost:8983/solr
和/或http://<server IP>:8080/solr
的HTTTP调用来访问在我的Windows服务器上运行的Solr实例。
我在我的Windows Server上创建了入站防火墙规则,接受本地端口8080上的任何远程地址,并且我已将jetty.xml上的jetty端口更改为8080,这很好(I可以从我的Windows Server访问http://<server_domain>:8080/solr
上的Solr实例。
但是当我尝试将jetty主机更改为服务器的IP时,我无法再访问Solr核心集合 - 即核心选择器中没有集合,因此我无法对{{1 - 我只看到一个&#34;空白&#34; Solr接口。
我改变的jetty.xml部分看起来像这样:
http://localhost:8080/solr
首先 - 这是正确的做法吗?如果是的话,我做错了什么?如果不是,我该如何实现呢?我试图寻找方法来做到这一点,但我似乎无法找到任何好的资源。
答案 0 :(得分:0)
这已经解决了。我还要做两件事: 1.让Jetty使用特殊的IP 0.0.0.0让它在所有接口上监听:
<Call name="addConnector">
<Arg>
<New class="org.eclipse.jetty.server.bio.SocketConnector">
<Set name="host"><SystemProperty name="jetty.host" default="<0.0.0.0>"/></Set>
<Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set>
<Set name="maxIdleTime">50000</Set>
<Set name="lowResourceMaxIdleTime">1500</Set>
<Set name="statsOn">false</Set>
</New>
</Arg>
</Call>
现在,http://SERVER_DOMAIN_NAME:8080/solr
可以访问此域中连接的所有计算机的Solr。