我正在使用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一起使用。我以前已经做过一些事情,但是不确定它会如何影响我现在尝试编写的规则。
谢谢!