【问题标题】:AWS CloudFront and ELB: requests doesn't reach backendAWS CloudFront 和 ELB:请求未到达后端
【发布时间】:2021-09-06 21:01:47
【问题描述】:

陷入非常奇怪的麻烦。具有两个来源的 Cloudfront 发行版:S3 和 ELB。

我已经为默认 () 和自定义 (/test-request) 设置了行为。

在 ELB 方面,有一条规则可以将请求从我的域转发到某个后端。还添加了域作为云端分发的别名。

但每当我尝试联系https://my.domain/test-request 时,我...什么都没有。看起来所有请求都转到 S3 内容,而从未到达我需要的后端。

我已经玩过行为方面的选项,阅读了很多教程,但仍然没有运气。

我不是在寻找明确的答案,但至少我需要研究方向。

【问题讨论】:

    标签: amazon-web-services amazon-cloudfront amazon-elb


    【解决方案1】:

    我假设您的 Cloudfront 分发配置是

    • /test-request 以您的 ELB 为首要任务
    • 默认 (*) 将您的 S3 作为包罗万象
    • my.domain 已正确映射到您的 Cloudfront 的 CNAME

    当您尝试访问 my.domain/test-request 时,Cloudfront 将匹配您的缓存行为并连同路径 /test-request 一起转发到您的 ELB。

    请注意,它不会从您的原始请求中删除 /test-request 路径。

    然后您的 ELB 使用路径 /test-request 将原始请求转发到您的应用程序服务器。

    因此,您的应用程序很可能没有暴露路径 /test-request 下的任何资源或 API,从而导致请求失败。

    此外,由于您在本主题中,请注意默认情况下,Cloudfront 不会将查询参数或浏览器 cookie 转发到您的自定义源,在您的情况下是 ELB。如果要捕获它们,则需要正确配置缓存行为。

    参考:

    1. https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesPathPattern

    2. https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesQueryString

    【讨论】:

      猜你喜欢
      • 2019-07-03
      • 2021-01-29
      • 2014-04-06
      • 2016-07-06
      • 1970-01-01
      • 1970-01-01
      • 2016-05-11
      • 2020-11-08
      • 2017-06-21
      相关资源
      最近更新 更多