我们正在将Cloudfront用于我们的网站之一。因此,要使用Cloudfront,我们需要设置s3存储桶并在其中添加所有文件。然后,要使用自定义域,我们在Route53中创建了一个记录集并指定了Cloudfront URL。这一切工作正常。
但是,我们面临网站重定向或页面刷新的问题。假设如果我们在某个内部页面'https://www.example.com/my-page'上并且刷新页面,则该页面不显示,并且我们得到以下错误。
<Error>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
<Key>my-page</Key>
<RequestId><some-request-id></RequestId>
<HostId><some-host-id></HostId>
</Error>
并且所有页面均出现此问题。
我已经尝试为s3存储桶设置重定向url;但似乎总是重定向到登录页面。
对此有任何帮助!
我假设您正在使用简单的HTML。如果您使用的是React或Angular之类的框架,那么问题可能出在这里而不是Cloudfront。
[将Cloudfront发行版设置为指向S3存储桶而不是指向S3-as-Website终结点URL时,可能会发生。
转到Cloudfront发行版并检查原始组。您的来源应该看起来像这个BUCKET_NAME.s3-website-eu-west-1.amazonaws.com
,而不是这个BUCKET_NAME.s3-eu-west-1.amazonaws.com
。
这是一个容易犯的错误,因为他们在设置发行版时给您的选项-存储桶-实际上并不是您想要的。您需要从S3设置中复制端点URL,然后将其粘贴到框中。