如何使用CloudFront从S3提供静态文件

时间:2018-09-28 20:22:55

标签: amazon-s3 aws-lambda aws-api-gateway amazon-cloudfront

我在2个起点之前都有一个CloudFront发行版:

  • S3
  • API网关(Lambda)

我希望所有静态文件都可以从S3提供,其余的都可以从API网关提供。

仅供参考,我正在尝试使用Nginx提供的静态文件和PHP通过PHP-FPM提供的其余文件来复制经典的PHP设置。

我该如何实现?

我当前正在做的事情是

enter image description here

它可以工作,但是显然很烂,因为我必须手动添加所有静态文件扩展名。有没有办法匹配所有静态文件?还是要检查S3中是否存在文件并从那里提供文件?

1 个答案:

答案 0 :(得分:0)

选项1.让默认模式为存储桶,并使用API​​的路径模式(例如/api/*)创建缓存行为。在这里可能不实际。

选项2。将扩展名前的点匹配,以将文件请求发送到S3,例如/*.?? /*.???等。?占位符与 exactly one character匹配且不包含{ {1}}的末尾,路径末尾的多个字符中必须有一个点。

选项3.匹配*之类的前缀,并将所有这些请求发送到存储桶。在对象键的开头用/assets/*存储所有对象。