이전에 링크 된 가이드에 유용한 팁을 제안하는 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에 넣어야한다. 내 실제 버킷 이름은 그 형식을 점이나 대시 등의 형식으로 소문자 만 일치시킨다.