角路由不与的Cloudfront和S3工作

问题描述 投票:1回答:1

我有一个角6网站托管在S3与托管启用S3网站。另外,我在前面有一个CloudFront的分布。我配置了云锋,使其重定向什么index.html,然后用200的响应。

但是,只有“/”可以使用CloudFront的访问。其他网址,如“/ *”不加载。角加载“/”这个代替。仿佛仅角“/”看到。

我添加了一些代码来记录传递到角的URL,它原来是始终“/”。

此外,一些其他时间“/ *”网址,甚至不加载“/”,我看到控制台上的这个错误“未捕获的SyntaxError:意外的标记<”。

难道你们有什么想法可能是什么造成的?

S3设置enter image description here

CloudFront的行为:

enter image description here

enter image description here

enter image description here

angular http amazon-s3 amazon-cloudfront
1个回答
8
投票

请看看:how to deploy react and angular apps to S3/Cloudfront

你有创造了403定制行为(禁止)和404(未找到)响应?

每当有人做你的网站的要求,例如,www.yourwebsite.com/routeuri,注意,这个URI routeuri不会在你的原点(即S3桶)存在的时间,让你的原点(S3桶)将返回403响应(禁止)。所以,你也应该增加了403状态码自定义错误响应,如下所示的图像:

enter image description here

还请确保您还添加index.html作为两个的Cloudfront和S3桶默认根对象如通过以下图片:

Cloudfront root object s3 bucket

我真的建议阅读官方文档来了解关于原产CloudFront的关系。


0
投票

在我的情况下,这可以通过添加index.html作为下的“静态网站托管”的“错误文件”来解决。没有其他的。

© www.soinside.com 2019 - 2024. All rights reserved.