我使用AWS的S3托管我VueJs SPA应用静态网页。我在S3设置路由规则,当我访问使用S3静态主机URL它,它工作完全正常。但是,我也已经配置CloudFront的与我的自定义域使用它。由于单页的应用程序需要通过的index.html被路由,我在CloudFront的设置自定义错误页,404错误重定向到的index.html。所以,现在路由规则我已经设置在S3不再起作用。
是什么让S3的路由规则与CloudFront的自定义错误页面设置SPA一起工作的最好方法?
我想我是有点晚了,但在这里不用反正,
显然,你不能这样做,如果你是使用S3 REST_API端点(example-bucket.s3.amazonaws.com)作为原点的CloudFront的分发,你必须使用由S3提供为原点的S3网站的网址(例 - bucket.s3-网站 - [区域] .amazonaws.com)。此外,对象必须是公开的,你不能锁定你的水桶由起源策略的分布。
所以,
编辑:
我误以为,其实,你可以用REST_API端点做到这一点,你只需要创建CloudFront的分布中自定义错误响应,可能只为404个403的错误代码,设置“自定义错误响应”选项“是的”,响应页面路径‘/index.htm’明明和HTTP响应代码为‘200’。你可以,如果你使用的是控制台找到自己的分销内部的选项和错误页面标签。