2016-04-04 5 views
5

Я установил Elastic Search 2.3.0 как услугу на Azure VM с Windows Server 2012 R2. Я могу получить доступ к экстренному экземпляру поиска с сервера, используяЭкземпляр ElasticSearch недоступен за пределами сервера - Azure Windows 2012

http://localhost:9200 

, но я не могу получить доступ из-за пределов сервера.

Что я пробовал?

  • Только для тестирования я сделал виртуальную машину доступной вне виртуальной сети.
  • открыл порт 9200 в настройках брандмауэра Windows в качестве въездного правила дорожного движения
  • Добавлена ​​конечная точка в настройках портала Azure открытия вверх порт 9200

Пробовал это с VM Классический, а также.

Кроме того, для проверки того, является ли виртуальная машина в порядке, я установил IIS на этой машине, открыл порт 80. Страница IIS по умолчанию доступна извне.

Единственное, что я не пробовал, это установить ES в виртуальную машину Linux.

Я не могу найти что-либо в журналах elasticsearch. В браузере (Chrome) в сети нет журналов. Он просто вращается, дожидаясь сервера, и привязывается к «ERR_EMPTY_RESPONSE».

Может ли кто-нибудь, кто сделал это, пролить свет, пожалуйста?

UPDATE: Вот что я могу видеть в NetStat:

TCP 127.0.0.1:9200   machine-name:0  LISTENING 
TCP 127.0.0.1:9300   machine-name:0  LISTENING 
+0

В некоторых других случаях наша команда использует ES1.7.0, которая работает совершенно нормально. Озадаченный. – droidbot

ответ

14

Начиная с ES 2.0, процесс elasticsearch только binds to localhost, что объясняет, почему вы можете запросить ES изнутри, но не снаружи.

Вы должны изменить следующие настройки в файле конфигурации elasticsearch.yml:

network.host: 0.0.0.0 
+0

Помните пробовать это тоже @Val. Добавлен 'network.host: A.B.C.D', перезапустил службу. Еще не повезло. И его невозможно достичь с помощью localhost. Также попробовал 'network.host: [" A.B.C.D "," 127.0.0.1 "," [:: 1] "]'. Не повезло и с этим. – droidbot

+0

В этом случае записи теряются из netstat для портов 9200 и 9300. – droidbot

+0

Вам нужно использовать реальный IP-адрес, просто ABCD является примером, но это должно быть примерно так: 123.123.123.123 – Val

1

Я хотел бы предложить, чтобы установить network.host специальных значений

например.

network.host: [_local_, _site_] 

Это работает для меня.

+0

Я могу быть ElasticSearch noob @Amey, извините. Не могли бы вы объяснить это еще немного. Например, что вы подразумеваете под «специальными ценностями»? – droidbot

+1

https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html. Это ссылка для этого. _local_ Любые обратные адреса в системе, например 127.0.0.1. _site_ Любые локальные адреса сайта в системе, например 192.168.0.1 –

 Смежные вопросы

  • Нет связанных вопросов^_^