Начиная с версии 2.0 Elasticsearch по умолчанию прослушивает только локальный хост, но я хотел бы сделать запрос за пределами локального хоста.
Например, разрешен такой запрос:
http://localhost:9200/
Но это не так:
http://server_name:9200/
(извне сервера, например: локальный компьютер в той же локальной сети).
Спасибо за вашу помощь.
elasticsearch
Авраам Дюран
источник
источник
Ответы:
В
config/elasticsearch.yml
положитьисточник
/etc/elasticsearch/elasticsearch.yml
иnetwork.host: ["0.0.0.0"]
T_T
C:\ProgramData\Elastic\Elasticsearch\config
расположение. Если вы хотите программно подключиться к Elasticsearch, вам может потребоваться установитьtransport.host: 0.0.0.0
вelasticsearch.yml
файле.По умолчанию транспорт http и внутренний транспорт elasticsearch слушают только localhost. Если вы хотите получить доступ к Elasticsearch с хоста, отличного от localhost, попробуйте добавить следующие конфигурации в config / elasticsearch.yml .
Здесь network.host как 0.0.0.0 разрешает доступ с любого хоста в сети.
источник
elasticsearch.yml
файлПереименуйте файл elasticsearch.yml в elasticsearch.json внутри папки config и добавьте:
Другой вариант - предоставить настройки извне либо с помощью ES_JAVA_OPTS, либо в качестве параметров для команды elasticsearch, например:
$ elasticsearch -Des.network.host=10.0.0.4
Другой вариант - установить es.default. префикс вместо es. префикс, что означает, что параметр по умолчанию будет использоваться только в том случае, если он явно не установлен в файле конфигурации.
Другой вариант - использовать
${...}
обозначение в файле конфигурации, которое будет преобразовано в параметр среды, например:Расположение файла конфигурации можно задать извне с помощью системного свойства:
$ elasticsearch -Des.config=/path/to/config/file
Для получения дополнительной информации посетите https://www.elastic.co/guide/en/elasticsearch/reference/1.4/setup-configuration.html.
источник
elasticsearch.yml
в,elasticsearch.json
потому что первый, ммм, YAML, а второй -JSON
??Как упоминалось в @arsent, добавьте этот IP-адрес в файл конфигурации:
Джей также добавил важный момент - если вы используете брандмауэр, не забудьте добавить правило, разрешающее трафик на этот порт.
Если вы хотите разрешить главному серверу доступ к ES через http, добавьте правило, разрешающее доступ только с этого конкретного адреса. Например, предположим, что вы используете ufw, а затем выполните эту команду, чтобы добавить свой порт:
Замените xxx.xxx.xxx.xxx IP-адресом вашего главного сервера, а zzzz - портом, который вы настроили в
config/elasticsearch.yml
Рекомендуется использовать собственный порт, а не 9200 по умолчанию.
Чтобы проверить это, подключитесь по SSH к вашему главному серверу и пропингуйте IP-адрес ES с правильным портом, чтобы увидеть, получите ли вы ответ:
Вы также можете убедиться, что ES недоступен с других IP-адресов, попробовав его в своем браузере.
Есть отличная статья, в которой показано, как настроить ES на Ubuntu в DigitalOcean.
источник
В /etc/elasticsearch/elasticsearch.yml установите следующее значение:
network.host: [ localhost, _site_ ]
Эта опция позволяет вам получить доступ как с локального хоста, так и со всех компьютеров в локальной сети (192.168.XX), но не извне.
Подробнее об этом и других вариантах читайте в документации.
источник
На удаленном компьютере, где установлен elasticsearch, просто добавьте две конфигурации ниже в
/etc/elasticsearch/elasticsearch.yml
Протестировано на elasticsearch 6.8.3 и AWS EC2 Linux AMI в качестве удаленного компьютера
источник
В
/etc/elasticsearch/elasticsearch.yml
:источник
Замените localhost на 0.0.0.0 в двух местах.
Goto
/etc/elasticsearch/elasticsearch.yml
. Найдите значение в network.host и измените его на 0.0.0.0Это шаг, если вы используете Kibana. Goto
/etc/kibana/kibana.yml
. Найдите значение в server.host и измените его на 0.0.0.0Теперь вы получаете удаленный доступ с IP-адресом и хостом.
источник
В
config/elasticsearch.yml
, положитьnetwork.host: 0.0.0.0
в @arsent сказал. А также добавьте правило для входящего трафика в брандмауэре для порта ElasticSearch (9200 ByDefault).Он работал в ElasticSearch версии 2.3.0
источник
Для ElasticSearch 7.8 и выше
Проверьте, используете ли вы один узел. добавить следующую строку
Чтобы получить доступ к серверу Elasticsearch с другого компьютера или приложения, внесите следующие изменения в узел
C:\ProgramData\Elastic\Elasticsearch\config\elasticsearch.yml file:
Добавить следующие строки
Некоторое время вам может потребоваться включить CORS
Вот мой полный yml файл
источник
Помимо настройки
network.host : 0.0.0.0
может потребоваться установить следующие параметры
Все настройки входят в
elasticsearch/elasticsearch.yml
источник