如何将 CloudFront 和 S3 与备用域一起使用?
How to use CloudFront and S3 with alternate domain?
假设我有一个名为 example.com 的 S3 存储桶,我想使用备用域 example.com.
通过 CloudFront 提供其内容
我添加了 CNAME 记录以将 example.com 定向到 CloudFront 端点,并使用 AWS SSL 证书保护域。
在 CloudFront 中,当我转到 select Origin 时,它会显示我的存储桶。例如:example.com.s3.amazonaws.com
如果我选择这个来源,然后浏览到 https://example.com/my-bucket-item.jpg, I get redirected to https://example.com.s3-us-east-2.amazonaws.com/my-bucket-item.jpg,就会出现“连接不安全”SSL 错误。
如果我将源仅设置为域 example.com
,那么我会从 CloudFront 收到 403 错误请求错误。
据我所知,我的存储桶必须共享我的域名,否则我会收到“存储桶不存在”错误。
我已经关注了 AWS 文档。我在这里做错了什么?
更新
我通过将源策略更改为 Managed-CORS-S3Origin,成功让 CloudFront 识别我的备用域。
新问题:即使我已经 select 将 'Yes' 编辑为 'Restrict Bucket Access',我仍然可以通过 S3 url 访问文件。我是否需要关闭 public 对我的存储桶的访问权限?如果我这样做,它似乎会覆盖我的 CloudFront 策略...
我不得不将我的源请求策略更改为 Managed-CORS-S3Origin - 这解决了我的一般问题。
假设我有一个名为 example.com 的 S3 存储桶,我想使用备用域 example.com.
通过 CloudFront 提供其内容我添加了 CNAME 记录以将 example.com 定向到 CloudFront 端点,并使用 AWS SSL 证书保护域。
在 CloudFront 中,当我转到 select Origin 时,它会显示我的存储桶。例如:example.com.s3.amazonaws.com
如果我选择这个来源,然后浏览到 https://example.com/my-bucket-item.jpg, I get redirected to https://example.com.s3-us-east-2.amazonaws.com/my-bucket-item.jpg,就会出现“连接不安全”SSL 错误。
如果我将源仅设置为域 example.com
,那么我会从 CloudFront 收到 403 错误请求错误。
据我所知,我的存储桶必须共享我的域名,否则我会收到“存储桶不存在”错误。
我已经关注了 AWS 文档。我在这里做错了什么?
更新
我通过将源策略更改为 Managed-CORS-S3Origin,成功让 CloudFront 识别我的备用域。
新问题:即使我已经 select 将 'Yes' 编辑为 'Restrict Bucket Access',我仍然可以通过 S3 url 访问文件。我是否需要关闭 public 对我的存储桶的访问权限?如果我这样做,它似乎会覆盖我的 CloudFront 策略...
我不得不将我的源请求策略更改为 Managed-CORS-S3Origin - 这解决了我的一般问题。