Laravel 和 AWS Cloudfront

Laravel and AWS Cloudfront

我正在研究并阅读了很多关于某一特定主题的文章,但在任何地方都找不到相关答案。

但是我在 Laravel 中作为 fun/private 项目做一些事情,我想使用 Amazon S3 存储。我已经设置好一切,并且可以正常工作,我可以使用 Laravel 文件系统将图像从我的应用程序上传到 S3,但我想做的是使用 CloudFront(我也有这个设置和工作,云端正在正确提供文件)以提供图像和文件。

现在我的问题是:如何将 AWS CloudFront "urls" 集成到 Laravel 中?我的意思是如何在 Laravel 应用程序中存储 CloudFront urls?如何检索文件 urls(即图像)以便在我的应用程序中显示它。我是仅将文件路径存储在数据库中并使用 "some specific way" 来提供完整的 url 还是将完整的 AWS CloudFront url 保存在数据库中?

这是如何工作的?对不起,如果这个问题很愚蠢,但我刚刚深入 Laravel 并且我在那里很新。

你可以使用这个包https://github.com/publiux/laravelcdn

Content Delivery Network Package for Laravel

The package provides the developer the ability to upload his assets (or any public file) to a CDN with a single artisan command. And then it allows him to switch between the local and the online version of the files.

在 config/filesystems/s3

中将 url 设置为您的云端 url
's3' => [
        'driver' => 's3',
        'key' => env('AWS_KEY'),
        'secret' => env('AWS_SECRET'),
        'region' => env('AWS_REGION'),
        'bucket' => env('AWS_BUCKET'),
        'url' => 'http://xxx.cloudfront.net']

适用于 L5.5