Команда setup-passwords завершается с ошибкой из-за сбоя соединения
Команда elasticsearch-setup-passwords устанавливает пароли для встроенных пользователей, отправляя запросы к API управления пользователями. Если ваш кластер использует SSL/TLS для HTTP (REST) интерфейса, команда пытается установить соединение по протоколу HTTPS. Если попытка подключения завершается неудачно, команда завершается с ошибкой.
Симптомы:
-
Elasticsearch работает по протоколу HTTPS, но команда не распознаёт это и возвращает следующие ошибки:
Cannot connect to elasticsearch node. java.net.SocketException: Unexpected end of file from server ... ERROR: Failed to connect to elasticsearch at http://127.0.0.1:9200/_security/_authenticate?pretty. Is the URL correct and elasticsearch running?
-
SSL/TLS настроен, но доверие установить не удаётся. Команда возвращает следующие ошибки:
SSL connection to https://127.0.0.1:9200/_security/_authenticate?pretty failed: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target Please check the elasticsearch SSL settings under xpack.security.http.ssl. ... ERROR: Failed to establish SSL connection to elasticsearch at https://127.0.0.1:9200/_security/_authenticate?pretty.
-
Команда завершается с ошибкой из-за сбоя проверки имени хоста, что приводит к следующим ошибкам:
SSL connection to https://idp.localhost.test:9200/_security/_authenticate?pretty failed: java.security.cert.CertificateException: No subject alternative DNS name matching elasticsearch.example.com found. Please check the elasticsearch SSL settings under xpack.security.http.ssl. ... ERROR: Failed to establish SSL connection to elasticsearch at https://elasticsearch.example.com:9200/_security/_authenticate?pretty.
Решение:
- Если ваш кластер использует TLS/SSL для HTTP интерфейса, но команда пытается установить небезопасное соединение, используйте опцию команды
--url, чтобы явно указать URL HTTPS. В качестве альтернативы, задайте значение параметраxpack.security.http.ssl.enabledнаtrue. - Если команда не доверяет серверу Elasticsearch, проверьте, что вы настроили параметр
xpack.security.http.ssl.certificate_authoritiesили параметрxpack.security.http.ssl.truststore.path. - Если проверка имени хоста завершается неудачно, вы можете отключить эту проверку, установив значение
xpack.security.http.ssl.verification_modeнаcertificate.
Дополнительную информацию об этих параметрах см. в разделе Параметры безопасности в Elasticsearch.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/trb-security-setup.html