4

Paperclip を使用して、画像の添付ファイルを Amazon S3 に保存し、Cloudfront 経由で配信しています。私は周りを見回していましたが、コンテンツを保護するために署名付き URL で使用されている例を見つけることができませんでした。ここで誰かがこれを行う方法を知っているかどうか疑問に思っていましたか?

ありがとう、

レナード

4

1 に答える 1

4

少し遅いですが、答えを探している人にとって遅すぎることはありません.

通常どおりに写真を S3 にアップロードします。s3_permissionsプライベートに設定して、S3 経由でパブリック アクセスできないようにします。s3_host_alias添付ファイルの URL を要求するときに paperclip がそのホストを使用するように設定し、その URL に署名するだけです。

署名付き URL または署名付き Cookie の両方を使用できます。たとえば、cloudfront-signergem の場合:

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を参照してください。免責事項、私はこの宝石の現在のメンテナーです。

于 2015-09-01T15:54:10.347 に答える