所以我在
Linux服务器上安装了Solr,我想从另一台Web服务器和/或我的电脑上访问它.
从Solar Server,我可以看到它正在运行
[root@solr ~]# wget -qO- http://localhost:8983/solr <html> <head> <link rel="stylesheet" type="text/css" href="solr-admin.css"> <link rel="icon" href="favicon.ico" type="image/ico"></link> <link rel="shortcut icon" href="favicon.ico" type="image/ico"></link> <title>Welcome to Solr</title> </head> <body> <h1>Welcome to Solr!</h1> <a href="."><img border="0" align="right" height="78" width="142" src="admin/solr_small.png" alt="Solr"/></a> <a href="admin/">Solr Admin</a> </body> </html>
但是,将http://192.168.1.19:8983/solr/插入我的浏览器,或从我的Web服务器ping,无法连接.如何让Solr可以访问我网络上的其他设备?
# netstat -anp | grep :8983 tcp 0 0 :::8983 :::* LISTEN 15138/java
$telnet 192.168.1.19 8983 Trying 192.168.1.19... telnet: connect to address 192.168.1.19: Connection refused telnet: Unable to connect to remote host
解决方法
你是如何运行Solr的?在Tomcat下?我会假设,因为我知道如何限制Tomcat&下的localhost.如果你只是撤消我的做法来限制它,那么你可以联网你的Solr安装.
就我而言,我不允许Tomcat处理外部世界 – 我更喜欢Apache反向代理 – 所以我做了以下事情.
我在这里编辑Tomcat server.xml:
/etc/tomcat6/server.xml
我寻找连接器设置并添加address =“127.0.0.1”,它将Tomcat安装锁定到127.0.0.1(aka:localhost)
<Connector port="8080" protocol="HTTP/1.1" address="127.0.0.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" />
所以在你的情况下,我会删除地址设置,如下所示:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" />
但话又说回来,不知道你的Solr实例是如何服务的.如果没有通过Tomcat提供服务,那么其他人需要加入.