2014-01-13 6 views
1

이전에 링크 된 가이드에 유용한 팁을 제안하는 this blog post뿐만 아니라 this guide을 paperclip으로 S3 업로드에 직접 따라갔습니다. 내 유일한 차이점은 문서와 대조되는 사진 인 내 모델의 이름입니다.레일 4 SSL 오류로 인해 클립으로 직접 s3 업로드가 중단됩니다.

direct_upload_head = s3.buckets[Rails.configuration.aws[:bucket]].objects[direct_upload_url_data[:path]].head 

레일 서버 콘솔 쇼 : 나는 성공적으로 내 버킷하지만 (가이드에서 document.rb) photo.rb에서 before_create 조치에 업로드 원본 파일을 얻고있다

이 줄에서 실패 다음과 같은 오류 : 잘못된 형식에 내가 그 약간 direct_upload_url이 클립에 의해 생성되는 일치하도록 수정 인해

OpenSSL::SSL::SSLError (hostname does not match the server certificate): app/models/photo.rb:56:in `set_upload_attributes'

나는 이전에 실패한 DIRECT_UPLOAD_URL_FORMAT 검증에 관한 오류를 얻고 있었다. 내 수정 된 버전입니다 : 그것은 온 내가 유효성 검사를 통과 그것을 가지고 DIRECT_UPLOAD_URL_FORMAT와 SSL 오류를 수정 한 후였다

"photo"=>{"direct_upload_url"=>" https://s3-eu-west-1.amazonaws.com/mybucketname/uploads%2F1389613985667-mo4ncxxus0q0vn29-d78ac9dc4f18fa612e33c87ec9ad0f4e%2Fmiddy.jpg "}

:

이 URL의 형식과 일치
DIRECT_UPLOAD_URL_FORMAT = %r{\Ahttps:\/\/#{Rails.configuration.aws[:region]}\.amazonaws\.com\/#{Rails.configuration.aws[:bucket]}\/(?<path>uploads\/.+\/(?<filename>.+))\z}.freeze 

콘솔에 표시되는 쪽으로.

콘솔에 표시된 URL에서 '업로드'및 폴더 이름 뒤에 슬래시가 표시되지 않지만 그 때까지는 나타납니다. SSL 요구 사항을 충족하지 못하는 것과 관련이 있습니까?

다른 모든 코드는 '문서'가 '사진'으로 전환 된 것을 제외하고는 가이드에있는 것과 일치합니다.

SSL 요구 사항을 충족시킬 수있는 방법이 있습니까?

편집 : 나는 또한 'mybucketname'을 인용 된 URL에 넣어야한다. 내 실제 버킷 이름은 그 형식을 점이나 대시 등의 형식으로 소문자 만 일치시킨다.

답변

0

내 문제는 내가 양동이를 위해 선택한 지역 때문에 발생했습니다.

자습서는 미국 표준 영역에서만 작동하는 경로 스타일 URL을 사용하도록 설정되었습니다.

내 개발 용 버킷으로 EU 지역 (아일랜드)을 선택했는데 비 미국 표준 버킷에 필요한 도메인 스타일 URL을 사용하도록 코드를 수정하지 못했습니다. 내 코드는 지금 작동하는 방식에 만족 해요하지만 아일랜드를 사용하도록 수정하는 방법을보고 계속 http://docs.aws.amazon.com/AmazonS3/latest/dev/LocationSelection.html

:

나는 제목 '버킷 액세스'에서 아마존의 문서에있는 정보를 발견 버킷 영역을 사용하여 개발 중 대기 시간을 줄입니다.

관련 문제