amazon-elastic-beanstalk - 具有 Beanstalk 源的 AWS Cloudfront - 如何避免重定向到源
问题描述
在我的一个 Beanstalk 应用程序中,Cloudfront 将用户重定向到原点,而不是缓存。类似于具有多个 S3 源的 AWS CloudFront,或https://github.com/Wolox/tech-guides/blob/master/infrastructure/docs/aws/docs/cloudfront-eb-configuration.md。我看到“最重要的一步是在查询字符串转发和缓存选项中选择转发全部,基于全部缓存。当使用 EB 负载均衡器作为源时,将此选项保留在其无选项上将导致分发重定向请求而不是缓存它们。” 建议,但 Cloudfront 行为页面已更新,我再也找不到相关选项了。
解决方案
好的,这很简单 - Cloudfront 必须转发 Host 标头。我很好奇为什么它不是默认的缓存行为。
从https://aws.amazon.com/premiumsupport/knowledge-center/configure-cloudfront-to-forward-headers/:在缓存键和源请求下,确认已选择旧缓存设置。如果未选中,则按照上一节中的步骤创建缓存策略。如果选择了 Legacy 缓存设置,则完成以下操作: 对于 Headers,选择 Include the following headers。从添加标题下拉列表中,选择主机。
推荐阅读
- docker - 在 Debian 镜像上安装 Docker 最终会得到一个巨大的镜像
- multithreading - JavaFX.Scene.Robot 崩溃/UI 冻结
- c# - PostAsync 在 iOS Xamarin 表单上发生“请求超时”
- node.js - crontab 中的计划节点脚本在重新启动后不运行
- docker - 为什么hello-word图像只第一次输出?
- google-apps-script - 如何在没有原始帐户创建别名的情况下重命名 google 帐户?
- sql-server - MS SQL Server 管理工作室:如何将外部数据库添加到对象资源管理器?
- javascript - 当客户端发送无效的 uuid 时,服务器应该响应什么错误?
- angular - 在 p 表的列中添加按钮
- azure-devops - Azure Devops Pipelines 与 Bitbucket 的集成未显示触发构建的用户