프로덕션 환경에서 프로젝트를 실행하기 위해 AWS elasticsearch 서비스를 연결하기 위해 elasticsearch 구성에 대한 문제가 있습니다. 내 Gemfile : 나는 "다시 색인 : 레이크 searchkick 모든"을 실행하면탄성 검색 문제 : AWS elasticsearch 서비스를 연결할 수 없습니다.
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
:
이gem 'searchkick'
gem 'faraday_middleware-aws-signers-v4'
gem 'aws-sdk', '~> 2'
gem "elasticsearch", ">= 1.0.15"
참조 : https://github.com/ankane/searchkick이
내 설정/초기화/elasticsearch.rb 파일, 그것은 오류를 보여 :
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"}"
누구나 나를 도울 수 있습니다! 감사!
자격 증명이 일치하지 않습니다! 열쇠가 맞습니까? – bkunzi01
응답 해 주셔서 감사합니다. 확인했습니다. 맞습니다! 제발, 도와주세요! – Theo