Apache solr не отвечает только с определенного IP в Digital Ocean - PullRequest
0 голосов
/ 20 июня 2019

Не могу заставить установку Apache Solr отвечать успешно.

Я комментирую быстро, у меня есть капля Wordpress в цифровом океане, я установил Apache sorl и, очевидно, он работает правильно.

$ service solr status
● solr.service - LSB: Controls Apache Solr as a Service
   Loaded: loaded (/etc/init.d/solr; bad; vendor preset: enabled)
   Active: active (exited) since Tue 2019-06-18 20:20:55 UTC; 1 day 9h ago
     Docs: man:systemd-sysv-generator(8)
  Process: 4342 ExecStop=/etc/init.d/solr stop (code=exited, status=0/SUCCESS)
  Process: 4458 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)
    Tasks: 0
   Memory: 0B
      CPU: 0

ip xxx.xx.xxx.xxx - это мой IP-адрес, и я хочу, чтобы только с этого IP-адреса могли быть сделаны запросы к apache sorl.

$ ufw status
WARN: / is group writable!
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere                  
443                        ALLOW       Anywhere                  
80                         ALLOW       Anywhere                              
Nginx HTTP                 ALLOW       Anywhere                  
8983                       ALLOW       xxx.xx.xxx.xxx            
22 (v6)                    ALLOW       Anywhere (v6)             
443 (v6)                   ALLOW       Anywhere (v6)             
80 (v6)                    ALLOW       Anywhere (v6)             
Nginx HTTP (v6)            ALLOW       Anywhere (v6)   

Если я отфильтрую ips, чтобы посмотреть, настроен ли он

$ sudo netstat -lntp | grep 8983
tcp        0      0 127.0.0.1:8983          0.0.0.0:*               LISTEN      4507/java 

Пинг изнутри моего сервера капель (ssh).

$ ping http://localhost:8983/solr
ping: unknown host http://localhost:8983/solr

Как получить ответ от Apache Solr, что происходит?

1 Ответ

0 голосов
/ 20 июня 2019

Во-первых, то, что вы видите, вызвано тем, что Solr по умолчанию слушает только петлевой интерфейс.Это сделано для того, чтобы люди случайно не выставляли Solr в Интернет (для чего он не предназначен).Команда netstat показывает это:

tcp        0      0 --> 127.0.0.1:8983 <--

Чтобы изменить интерфейс, который слушает Solr, вы можете добавить -Djetty.host=<ip> к SOLR_OPTS, используемому при запуске Solr.Как это сделать, зависит от того, как вы установили Solr, но обычно через solr.in.sh или что-то подобное.

Второе: убедитесь, что ваш брандмауэр по умолчанию настроен на запрет соединений, в противном случае - единственное разрешение для порта.ничего не изменит.Протестируйте это снаружи вашего хоста, чтобы убедиться, что вы не выставляете Solr на весь интернет.

В-третьих: ping не работает так.ping <ip> - это то, как вы используете утилиту ping, и она отправляет ICMP-пакет на ip (или хост, который разрешен в ip) и ожидает ответа.Он не будет работать с URL-адресом http, заданным портом или путем к конечной точке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...