6

У меня возникла проблема настройки elasticsearch для подключения службы AWS elasticsearch для запуска проекта в процессе производства. Мои Gemfile:Проблема с Elasticsearch: Не удается подключить службу AWS elasticsearch

gem 'searchkick' 
    gem 'faraday_middleware-aws-signers-v4' 
    gem 'aws-sdk', '~> 2' 
    gem "elasticsearch", ">= 1.0.15" 

Ссылка: https://github.com/ankane/searchkick

Мой конфиг/Инициализаторы/файл elasticsearch.rb:

require "faraday_middleware/aws_signers_v4" 
    ENV["ELASTICSEARCH_URL"] = "https://search-eaterybot-u3yjm6cdn3ogkmv3bcdl5j7poy.ap-southeast-1.es.amazonaws.com/" 

     Searchkick.client = Elasticsearch::Client.new(
     url: ENV["ELASTICSEARCH_URL"], 
     transport_options: {request: {timeout: 10}} 
     ) do |f| 
     f.request :aws_signers_v4, {credentials: Aws::Credentials.new(Rails.application.secrets.aws_access_key_id, Rails.application.secrets.aws_secret_access_key), 
     service_name: "es", 
     region: "ap-southeast-1" 
    } 
    end 

Когда я запускаю "грабли searchkick: переиндексации: все", он показывает ошибку :

Elasticsearch::Transport::Transport::Errors::Forbidden: [403] {"message":"The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.\n\nThe Canonical String for this request should have been\n'GET\n/_aliases\n\naccept-encoding:gzip;q=1.0,deflate;q=0.6,identity;q=0.3\nhost:search-eaterybot-u3yjm6cdn3ogkmv3bcdl5j7poy.ap-southeast-1.es.amazonaws.com\nx-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\nx-amz-date:20160914T095023Z\n\naccept-encoding;host;x-amz-content-sha256;x-amz-date\ne3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'\n\nThe String-to-Sign should have been\n'AWS4-HMAC-SHA256\n20160914T095023Z\n20160914/ap-southeast-1/es/aws4_request\n47bc69b4440a13aeac990b8c6c49934f1dcc4693bbbda577bfdeb02e685c507b'\n"}"

Любой может мне помочь! Благодаря!

+0

Ваши учетные данные не совпадают! У вас есть правильный ключ? – bkunzi01

+0

Спасибо за ответ! Я проверил, это правильно! Пожалуйста, помогите! – Theo

ответ

8

Вы должны исключить хвостовой слэш из ELASTICSEARCH_URL

+0

О, Боже! Отбросьте мне много времени. Наконец, найдите причину. – Sunry

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