Laravel FileSystem создает подписанный URL-адрес CloudFront - PullRequest
0 голосов
/ 09 декабря 2018

Я работаю с 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'),
        ],

1 Ответ

0 голосов
/ 14 января 2019

Недостаточно респ.для комментария.

S3 url - для временной подписи к конечной точке S3.Laravel сам по себе не имеет возможности подписывать URL-адреса облачного хранилища.

Я нашел этот пакет, который может это сделать.

https://github.com/dreamonkey/laravel-cloudfront-url-signer

...