Назад | Перейти на главную страницу

Сделайте сервер Solr доступным в сети

Итак, я установил 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 проблема может быть в другом месте.