为特定路径设置错误页面

Setting Error Pages for a specific path

我正在将 ECS 用于 Web 应用程序,我为代码 404 和 502 设置了错误页面定义。我当前的设置 return 是一个静态 maintenance.html 文件(托管在 S3 上)和 return 是一个代码 200。我必须 return 200,否则 Outlook(托管我的应用程序)将不会呈现 returned html,而是显示一个丑陋的错误页面。 我遇到的问题是,稍后 API 从我的客户端应用程序调用我的服务器,也可能 return 404。使用当前设置,CloudFront 拦截此回复,并且 returns 代码为 200 的 maintenance.html。所以现在我的应用程序不知道有什么问题,后来无法解析回复。

有没有办法定义错误页面只处理特定的请求?对于我的用法,我希望它们只处理对我的 /static/index.html 文件的调用。如果服务器实际上缺少其他 file/API 调用,我希望我的客户端获得 404,以便它可以正确处理它。

因此,根据我阅读的文档回答您的问题,目前无法从云端错误页面配置中执行此操作。

但是,我们遇到了类似的问题,但在我们的例子中,API 调用 return 出现 500 错误和 s3 自定义错误 html 而不是实际的服务器错误我预计只有 API 个电话。

我们最终在这种情况下做的是在后端处理 500 个错误,如果请求 Url 具有 API 调用的模式(我们使用了 http 错误代码 406),然后处理程序将仅在失败时使用 406 响应代码和整个错误而不是 500 和 s3 响应 html 进行回复在 api url 模式上。我知道这并不能按照您希望的方式解决问题,但您可能会发现它很有帮助,直到云端允许基于路径模式的自定义错误响应。