Paperclip を使用して、画像の添付ファイルを Amazon S3 に保存し、Cloudfront 経由で配信しています。私は周りを見回していましたが、コンテンツを保護するために署名付き URL で使用されている例を見つけることができませんでした。ここで誰かがこれを行う方法を知っているかどうか疑問に思っていましたか?
ありがとう、
レナード
Paperclip を使用して、画像の添付ファイルを Amazon S3 に保存し、Cloudfront 経由で配信しています。私は周りを見回していましたが、コンテンツを保護するために署名付き URL で使用されている例を見つけることができませんでした。ここで誰かがこれを行う方法を知っているかどうか疑問に思っていましたか?
ありがとう、
レナード
少し遅いですが、答えを探している人にとって遅すぎることはありません.
通常どおりに写真を S3 にアップロードします。s3_permissions
プライベートに設定して、S3 経由でパブリック アクセスできないようにします。s3_host_alias
添付ファイルの URL を要求するときに paperclip がそのホストを使用するように設定し、その URL に署名するだけです。
署名付き URL または署名付き Cookie の両方を使用できます。たとえば、cloudfront-signer
gem の場合:
has_attached_file :photo,
s3_permissions: :private,
s3_host_alias: "dcx01yp1dg1u1.cloudfront.net"
# Now photo.url will point to dcx01yp1dg1u1.cloudfront.net instead of S3
Aws::CF::Signer.sign_url photo.url, expires: Time.now + 600
詳細については、 https://github.com/leonelgalan/cloudfront-signer#usageを参照してください。免責事項、私はこの宝石の現在のメンテナーです。