Сервис AWSasticsearch генерирует Faraday :: ConnectionFailed: Не удалось открыть TCP-соединение с https: 80 (getaddrinfo: Имя или служба неизвестна) - PullRequest
0 голосов
/ 05 ноября 2018

В настоящее время я пытаюсь настроить службу поиска AWS в моем приложении Rails v 5.1.4. Я использую elasticsearch-rails 6.0.0. Проблема, с которой я сталкиваюсь в настоящее время, заключается в том, как мой клиентasticsearch настраивается в моем инициализаторе. У меня есть одно ограничение: я не могу использовать гем faraday_middleware-aws-signers-v4 для связи между моим экземпляром AWS elastisearch и моим приложением. Я пытаюсь сделать это только с aws-sdk-rails 1.0.1. Поскольку этот сервер находится в той же группе безопасности, что и экземпляр эластичного поиска, я предполагаю, что мне не нужно передавать учетные данные.

Вот моя ошибка:

Faraday::ConnectionFailed: Failed to open TCP connection to https:80 (getaddrinfo: Name or service not known)
from /usr/local/lib/ruby/2.4.0/net/http.rb:906:in `rescue in block in connect'`

Вот мой initializers/elasticsearch.rb:

config = {
  hosts: {host: 'https://search-epl-elasticsearch-xxxxxxxxxxxxxxxxxx.us-east-2.es.amazonaws.com', port: '80'},
  transport_options: {
    request: { timeout: 5 }
  }
}
Elasticsearch::Model.client = Elasticsearch::Client.new(config)

1 Ответ

0 голосов
/ 21 января 2019

Я понимаю, что прошло несколько месяцев, но, похоже, вы настраиваетеasticsearch с URL-адресом https и указали использовать порт 80 вместо 443. Попробуйте вместо этого:

config = {
  url: 'https://search-epl-elasticsearch-xxxxxxxxxxxxxxxxxx.us-east-2.es.amazonaws.com',
  transport_options: {
    request: { timeout: 5 }
  }
}
Elasticsearch::Model.client = Elasticsearch::Client.new(config)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...