Итак, я установил Solr на сервере Linux и хочу получить к нему доступ с другого веб-сервера и / или моего компьютера.
С солнечного сервера я вижу, что он работает
[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/
в мой браузер или пинг с моего веб-сервера не удается подключиться. Как сделать 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? Я предполагаю, что это так, поскольку я знаю, как ограничить localhost
под Tomcat, и если вы просто отмените то, что я делаю, чтобы ограничить его, вы можете подключить свою установку Solr к сети.
В моем случае я запрещаю Tomcat работать с внешним миром - я предпочитаю обратное проксирование Apache - поэтому я делаю следующее.
Я редактирую Tomcat server.xml
здесь:
/etc/tomcat6/server.xml
Я ищу Connector
настройки и добавить address="127.0.0.1"
который блокирует установку Tomcat до 127.0.0.1 (также известный как localhost)
<Connector port="8080" protocol="HTTP/1.1"
address="127.0.0.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
Так что в вашем случае я бы просто удалил address
настройка так:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
Но опять же, я не знаю, как обслуживается ваш экземпляр Solr. А если он не обслуживается через Tomcat, то должен вмешаться кто-то другой.
Если вы используете datastax
, обновить (в cassandra.yaml
) listen_address:
и rpc_address:
на IP-адрес машины, и он будет работать.
По умолчанию он упоминается как localhost
.
Можете ли вы проверить, что сервер Solr прослушивает правильные интерфейсы?
Какой результат:
netstat -anp | grep :8983
Если ты видишь 127.0.0.1:8983
или ::1:8983
это потому, что ваш сервер не слушает внешний мир. Вы можете исправить это, отредактировав конфигурацию используемого вами веб-сервера.
В противном случае, если вы видите 0.0.0.0:8983
проблема может быть в другом месте.