如何使用 Cloudfront 设置 AWS Elastic Beanstalk 以在 PHP 堆栈上托管图像和视频
Posted
技术标签:
【中文标题】如何使用 Cloudfront 设置 AWS Elastic Beanstalk 以在 PHP 堆栈上托管图像和视频【英文标题】:How to set up AWS Elastic Beanstalk with Cloudfront For Image and Video Hosting on PHP Stack 【发布时间】:2017-04-18 12:39:39 【问题描述】:我正在尝试在 Amazon Cloud 中建立一个架构,使我能够将我的动态 php 文件托管在 Elastic Beanstalk 上,并将我的静态文件和视频内容托管在 Amazon Cloudfront CDN 上。
我目前有这个当前的文件结构,并且我已经通过 AWS 上传和部署了我的应用程序。
我也在使用自己的域名。
app/
| index.php
| otherfiles.php
|
|____images/
| image1.jpg
|
|____js/
| scripts.js
|
|____css/
| stylesheet.css
|
|____videos/
movie1.mp4
我还在我的 s3 存储桶中创建了一些文件夹,这些文件夹映射到应用程序中的文件夹。所以我有一个js文件夹,一个图片文件夹,电影等等。
我的问题是如何设置 S3 存储桶,以便对 mydomain.com/images/image1.jpg 的请求映射到存储桶以及我的 s3 存储桶中的文件夹和图像?
通过 Cloudfront CDN 交付的内容是否也只能通过 S3 存储桶获得?
我了解 AWS 是一个庞大的主题,但我只需要对如何实现它进行概念性概述。
提前致谢
【问题讨论】:
【参考方案1】:为您的域设置 CloudFront 分配,并将对静态资产的请求路由到 S3 存储桶,并将对动态资产的请求路由到您的 Elastic Beanstalk 应用程序。您可以使用 CloudFront 行为功能执行路由,如 this blog post 中所述。
也是仅通过 Cloudfront CDN 交付的内容 可通过 S3 存储桶获得?
不,CloudFront 可以路由到任何端点,而不仅仅是 S3 存储桶。
【讨论】:
以上是关于如何使用 Cloudfront 设置 AWS Elastic Beanstalk 以在 PHP 堆栈上托管图像和视频的主要内容,如果未能解决你的问题,请参考以下文章
如何在 AWS S3 网站 CloudFront 中设置别名重定向?
AWS CloudFront 为不同的主机(前端和后端)设置 cookie
使用Cloudfront而不是单个EC2实例的AWS ELB设置有什么意义?
AWS CloudFront 如何遵循 S3 存储桶重定向规则?