首页 > 解决方案 > 使用 Amazon S3 和 CloudFront 托管单页应用程序时出现问题:如何区分 403 与 S3 与 403 与后端服务?

问题描述

我有一个在现代 JS 框架之一中开发的单页应用程序。

这个单页应用程序只有一个入口点 ( index.html)。

它通过 JS 处理路由和其他页面逻辑,这意味着当用户直接访问或刷新页面时,我们希望他们下拉 index.html 文件而不是存储在 URL 中的文件路径位置(例如在静态托管的网站中)。

如果找不到 URL 后面的资源,S3 会返回 403。因此,在 CloudFront 中,我们配置了以下规则:

在此处输入图像描述

现在,我正在处理后端的授权层,如果主体没有足够的权限访问 API,则该层合法地返回 403。

而且,由于显而易见的原因,CF 没有返回 403,而是在索引页面中返回 200。

有没有办法微调这种行为?想法?

标签: amazon-cloudfront

解决方案


推荐阅读