我对设置 Amazon Cloudfront 和 S3 存储桶有点困惑。
我已经设置了存储桶,并使用 wordpress WP Offload S3 插件将所有图像存储在此存储桶中。在媒体管理器中检查图像 URL 时,一切似乎都运行正常,URL 指向存储桶。
我已经设置了 Cloudfront 分发,并将 S3 存储桶作为原点。
但是现在,当我直接访问我的 Cloudfront 分发 URL (xxxxxxxxx.cloudfront.net) 时,我只会看到以下页面:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>XXXXXXXXXXXXXX</RequestId>
<HostId>
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
</HostId>
</Error>
如果我访问我的 Cloudfront 分发 URL,我应该会看到该网站的缓存版本,对吗?
相反,似乎我当前的分布仅适用于带有图像的 S3 存储桶,但不适用于实际的网站。
那么我是否需要为同一分布设置额外的来源?
是否为实际域 example.com 设置一个来源,为 S3 存储桶设置另一个来源?
答案1
问:如果我访问我的 Cloudfront 分发 URL,我应该会看到网站的缓存版本,对吗?
答:不是。
您已将 CloudFront 配置为缓存 S3。S3 包含您的图片,而不是您的网站。如果您想查看您的网站,您需要从您的 Web 服务器发出请求。
如果您希望 CloudFront 缓存整个网站,则需要将其设置为 Web 服务器作为分发的源。您仍然可以使用 S3 卸载,但源将是 Web 服务器而不是 S3。您将只有一个 CloudFront 分发。