2

У меня есть кластер Elasticearch с Compose.io, но я не могу связаться с клиентом Elastica. Это моя конфигурация:Клиент Elastica с кластером

$elasticaClient = new \Elastica\Client(array(
     'servers' => array(
      array('host' => 'https://myusername:[email protected]', 'port' => 10050), 
      array('host' => 'https://myusername:[email protected]', 'port' => 10062) 
     ) 
    )); 
    $elasticaIndex = $elasticaClient->getIndex('test'); 

Я получил эту ошибку:

Не удалось разрешить хост 500 Внутренняя ошибка сервера

Как правильно подключиться к базе данных?

ответ

5

Параметр host должен быть указан без протокола.

Если вы хотите использовать https, вы должны установить transport параметр Https (вместо Http, который используется по умолчанию).

$elasticaClient = new \Elastica\Client([ 
    'connections' => [ 
     ['transport' => 'Https', 'host' => 'myusername:[email protected]', 'port' => 10050], 
     ['transport' => 'Https', 'host' => 'myusername:[email protected]', 'port' => 10062], 
    ], 
]); 
$elasticaIndex = $elasticaClient->getIndex('test'); 
+0

Это работает, это полный ответ код от Игоря: $ elasticaClient = новый \ Elastica \ Client ([ 'связи' => [ [ 'транспорт' => 'Https', 'хозяин' => 'пользователь: **** @ aws-us-east-1-portal3.dblayer.com', 'порт' => 10050, 'завиток' => [ CURLOPT_SSL_VERIFYPEER => ложно, ], ], ], ]); – Siol

3

Чтобы проверить, если ваш вопрос Elastica связан или если существует проблема с доступом к сервису (который я предполагаю), используйте завиток:

curl https://myusername:[email protected]:10050 

Если сервер «работает», как ожидается, вы будете получить результат JSON с статусом сервера elasticserach. В этом случае проблема связана с Эластикой. Во всех остальных случаях я предполагаю, что проблема связана с настройками брандмауэра, проблемами с сертификатом или другими проблемами сервера и не является специфичной для Elastica.

Также имейте в виду, что использование массива 'servers' в Elastica устарело. Вместо соединений серверов с теми же параметрами следует использовать.

+0

Свертка, работающая на местном и prod, я могу видеть ответ JSON, но я не могу узнать, что не так с Elastica. – Siol