Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS Cloudfront/S3网站重定向问题_Amazon Web Services_Amazon S3_Amazon Cloudfront_Amazon Route53 - Fatal编程技术网

Amazon web services AWS Cloudfront/S3网站重定向问题

Amazon web services AWS Cloudfront/S3网站重定向问题,amazon-web-services,amazon-s3,amazon-cloudfront,amazon-route53,Amazon Web Services,Amazon S3,Amazon Cloudfront,Amazon Route53,我们正在使用cloudfront作为我们的一个网站。因此,为了使用cloudfront,我们设置了s3存储桶并在其中添加了所有文件。然后,为了使用自定义域,我们在Route53中创建了一个记录集,并给出了cloudfront url。这一切都很好 但是,我们的站点面临重定向或页面刷新问题。假设我们在某个内部页面“”上,并且刷新了该页面,那么该页面将不显示,我们将看到下面的错误 <Error> <Code>NoSuchKey</Code> <Message

我们正在使用cloudfront作为我们的一个网站。因此,为了使用cloudfront,我们设置了s3存储桶并在其中添加了所有文件。然后,为了使用自定义域,我们在Route53中创建了一个记录集,并给出了cloudfront url。这一切都很好

但是,我们的站点面临重定向或页面刷新问题。假设我们在某个内部页面“”上,并且刷新了该页面,那么该页面将不显示,我们将看到下面的错误

<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 bucket设置重定向url;但它似乎总是重定向到登录页面


在此感谢您的帮助

我假设您使用的是简单的HTML。如果您使用的是React或Angular之类的框架,那么问题可能就出在那里,而不是Cloudfront

当Cloudfront发行版设置为指向S3 bucket而不是S3作为网站端点URL时,可能会发生这种情况

转到Cloudfront分发并检查源组。您的源代码应该类似于此
BUCKET\u NAME.s3-website-eu-west-1.amazonaws.com
,而不是类似于此
BUCKET\u NAME.s3-eu-west-1.amazonaws.com


这是一个很容易犯的错误,因为他们在设置分发时给您的选项—桶—实际上不是您想要的。您需要从S3设置中复制端点url并将其粘贴到框中。

我假设您使用的是简单的HTML。如果您使用的是React或Angular之类的框架,那么问题可能就出在那里,而不是Cloudfront

当Cloudfront发行版设置为指向S3 bucket而不是S3作为网站端点URL时,可能会发生这种情况

转到Cloudfront分发并检查源组。您的源代码应该类似于此
BUCKET\u NAME.s3-website-eu-west-1.amazonaws.com
,而不是类似于此
BUCKET\u NAME.s3-eu-west-1.amazonaws.com


这是一个很容易犯的错误,因为他们在设置分发时给您的选项—桶—实际上不是您想要的。您需要从S3设置中复制端点url并将其粘贴到框中。

我不知道这是否能解决您的问题,但在设置Cloudfront发行版时,有一件事很容易被忽略,那就是将您的域(在本例中为example.com)添加到“备用域名(CNAMEs)”中“在发行版的“常规”下进行设置。

我不知道这是否能解决您的问题,但在设置Cloudfront发行版时,有一件事很容易遗漏,那就是将您的域(在本例中为example.com)添加到“备用域名(CNAMEs)”中'设置在发行版的“常规”下。

您正在使用哪个框架?angular、react或simple html?S3和cloudfront不知道重写规则。我们需要配置一些规则。看这个可以帮助你@aviboy2006我们使用的是角度框架。试试我上面提到的答案。你试过这个方法吗@XAMDEV您正在使用哪个框架?angular、react或simple html?S3和cloudfront不知道重写规则。我们需要配置一些规则。看这个可以帮助你@aviboy2006我们使用的是角度框架。试试我上面提到的答案。你试过这个方法吗@XAMDEV这是可以用来验证设置的检查之一。以防万一,它不会产生太大的影响。使用folder和index.html静态html时会发生此问题。因为这在其他上下文中很有帮助,所以请将答案向上投票。好的,谢谢。我已经用React在S3上设置了很多站点,只有当Cloudfront分发指向index.html入口点作为网站url时,React路由器才能正常工作。这是可以用来验证设置的检查之一。以防万一,它不会产生太大的影响。使用folder和index.html静态html时会发生此问题。因为这在其他上下文中很有帮助,所以请将答案向上投票。好的,谢谢。我已经在S3上使用React设置了很多站点,只有当Cloudfront分发指向index.html入口点作为网站url时,React路由器才能正常工作。