假设我有一个名为 example.com 的 S3 存储桶,我想使用备用域 example.com 通过 CloudFront 提供其内容。
我添加了 CNAME 记录以将 example.com 定向到 CloudFront 终端节点,并使用 AWS SSL 证书保护域。
在 CloudFront 中,当我选择 Origin 时,它会显示我的存储桶。例如:example.com.s3.amazonaws.com
如果我选择这个来源,并浏览到https://example.com/my-bucket-item.jpg,我会被重定向到https://example.com.s3-us-east-2.amazonaws.com/ my-bucket-item.jpg和“连接不安全”SSL 错误出现。
如果我将源设置为域,example.com
那么我会收到来自 CloudFront 的 403 Bad Request 错误。
据我了解,我的存储桶必须共享我的域的名称,否则我会收到“存储桶不存在”错误。
我已经关注了 AWS 文档。我在这里做错了什么?
更新
通过将我的源策略更改为 Managed-CORS-S3Origin,我成功地让 CloudFront 识别我的备用域。
新问题:即使我选择了“是”来“限制存储桶访问”,我仍然可以通过 S3 url 访问文件。我需要关闭对我的存储桶的公共访问吗?如果我这样做,它似乎会覆盖我的 CloudFront 策略......
我不得不将我的源请求策略更改为 Managed-CORS-S3Origin - 这为我解决了一般问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句