- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 S3 和 Cloudfront 在 AWS 上部署一个 Angular 应用程序。我们的 Angular 应用程序正在一个 Spring 应用程序上进行通信,该应用程序作为我们驻留在 EC2 实例上的后端应用程序。我已经将 CloudFront 配置为重定向 /api
向我们的后端发出请求,向前端发送其他所有请求。现在,我已经为 403 和 404 设置了 Cloudfront 的自定义错误响应,以返回我们的 angular 的 index.html。 问题是当我们的 fontend 尝试向我们的后端发送 API 调用并返回带有有效 json 响应的 404 时,而不是接收 json。我们得到 index.html 文件。
我想要实现的是,如果用户访问 http://somedomain.com/invalid-path ,他们会得到 index.html,但如果他们尝试 API 调用 http://somedomian.com/api/v1/invalid-path他们应该得到后端服务器返回的信息。
最佳答案
您可以创建事件类型的 Lambda 函数关联 Origin response
修改状态码和正文内容。您需要在 CloudFront behaviors
中添加它用于您的前端应用程序。 Here就是例子。
您可以添加 302 header 并重定向到静态错误页面的位置(缓存行为),或者您可以将内容附加到 response.body
并将状态代码更改为 200。
More on Lambda@Edge
关于amazon-web-services - 如何将 CloudFront 设置为每个源都有一个自定义错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54107781/
我是一名优秀的程序员,十分优秀!