如何针对从AWS S3和Cloudfront提供的内容遵守AMP CORS规范

时间:2018-11-28 12:14:30

标签: amazon-web-services amazon-s3 cors amazon-cloudfront amp-html

我正在使用AWS S3用于对象存储以及AWS Cloudfront作为CDN和SSL层来提供一些静态AMPHTML内容。

为了访问例如来自<amp-list>的JSON文档,我需要确保此设置符合AMP CORS Specification

通常,我过去使用Bucket CORs配置来设置S3 COR:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <MaxAgeSeconds>1800</MaxAgeSeconds>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

但是我不知道如何使这些规则符合AMP CORs规范,该规范要求"Access-Control-Allow-Origin""AMP-Access-Control-Allow-Source-Origin"匹配实际的源而不是通配符。从他们的文档中:

  

尽管W3 CORS规范允许*的值在   响应,为提高安全性,您应该:

     

如果存在Origin标头,请验证并回显   源头。如果没有Origin标头,请验证并回显   “ __amp_source_origin”的值。

我目前也在寻找S3 CORs配置如何与Cloudfront一起使用。我以前已经做过一些事情,但是不确定它会如何影响我现在尝试编写的规则。

谢谢!

0 个答案:

没有答案