我正在与CloudFront合作,以从S3提供内容。
仅S3
Storage::disk('s3')->url($image_path); // return a normal s3 url - correct
Storage::disk('s3')->temporaryUrl($image_path, now()->addMinutes(30)) // return S3 signed url - correct
使用CloudFront(已启用“限制存储桶访问”,“正在使用已签名的URL或已签名的Cookie来限制“查看器访问”)
Storage::disk('s3')->url($image_path); // return a normal CloudFront url - correct
Storage::disk('s3')->temporaryUrl($image_path, now()->addMinutes(30)) // return S3 signed url - incorrect . I expect CloudFront signed url
这是我对文件系统的配置
's3' => [
'driver' => 's3',
'key' => env('S3_KEY'),
'secret' => env('S3_SECRET'),
'region' => env('S3_REGION'),
'bucket' => env('S3_BUCKET'),
'url' => env('CLOUDFRONT_URL'),
],
答案 0 :(得分:0)
没有足够的代表。发表评论。
S3 url
用于对S3端点进行临时签名。 Laravel本身不具备对云端URL进行签名的功能。
我找到了可以做到这一点的包。