AWS Cloudfront 到 EC2 的混合 PHP 和静态内容

Posted

技术标签:

【中文标题】AWS Cloudfront 到 EC2 的混合 PHP 和静态内容【英文标题】:AWS Cloudfront to EC2 with mixed PHP and static content 【发布时间】:2021-12-25 00:19:43 【问题描述】:

这可能已在其他地方被问及回答,但我找不到确切的场景。

我有一个运行 LAMP 堆栈并提供 php 内容的 EC2 实例。这一切都有效。

我想缓存此内容,因为它不会经常更改。它是 Wordpress,Cloudfront 缓存显着加快了速度。所以我设置了一个指向 EC2 实例的分布。

我还有一个全是静态 html 的子目录。例如,基本 URL 是 mysite.com 提供 PHP 内容,mysite.com/data 提供 HTML 页面,每个子目录中都有标准 index.html 页面。

点击 Cloudfront URL,PHP 内容加载成功。但是点击 mysite.com/data 会返回标准 502 错误,就好像无法到达端点一样。

有什么想法吗? 有没有更好的设置方法?

【问题讨论】:

哦,如果有人想知道,是的,点击 EC2 URL/数据就可以了。 【参考方案1】:

更常见的 AWS 设置方法是在 Cloudfront 中使用 S3 存储桶静态站点和 CORS-S3Origin,并在第二个源之前使用 /data 路由规则。

我相信 Cloudfront 会在 Web 控制台中提供示例存储桶策略,但正确获取所有权限有点费时。

【讨论】:

谢谢,我会试一试,因为我之前通过 S3/Cloudfront 设置了静态内容。

以上是关于AWS Cloudfront 到 EC2 的混合 PHP 和静态内容的主要内容,如果未能解决你的问题,请参考以下文章

将 AWS cloudfront 放在 ec2 前面会引发 502 错误

AWS 将 EC2 替换为 CloudFront

使用Cloudfront而不是单个EC2实例的AWS ELB设置有什么意义?

使用 Cloudfront 设置 AWS ELB 而不是单个 EC2 实例有啥意义?

AWS 云产品 CloudFront + ELB + EC2 + S3 构建虚拟主机动静分离站点

$_GET 变量在我的 ec2 实例中使用 cloudfront aws 不起作用