【问题标题】:Cloudfront appending behaviour path to origin requestCloudfront 将行为路径附加到源请求
【发布时间】:2021-09-27 21:44:23
【问题描述】:

我有一个 Cloudfront 发行版,它设置了 2 个来源和 2 个行为来服务我的静态网站(来自默认 * 行为)并重定向到负载均衡器(来自自定义 /api/* 行为)。

在与安全组搏斗了一段时间后,我终于连接了 cloudfront 以使用 HTTP 发出请求。问题是它返回 404 not found 错误。我相信这是因为 Cloudfront 将 /api/ 附加到原始请求的末尾?

在我的日志中,我可以看到这是 Cloudfront 向我的 elb http://my-elb-address.us-west-1.elb.amazonaws.com:80/api/ 发出的原始请求,如果我在邮递员中点击它会返回一个 404 错误,类似于我尝试通过我的 Cloudfront 域名。

如果我点击了第一部分 (http://my-elb-address.us-west-1.elb.amazonaws.com:80),我会得到 200 OK。

是否可以从 Cloudfront 源请求中删除行为路径模式?

【问题讨论】:

  • 你是如何设置你的源路径的?
  • 我从源域下的列表中选择了 elb

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


【解决方案1】:

您对 CloudFront 的路径模式功能(行为)感到困惑。它不会在请求中附加任何内容,它只是将特定路径“转发”到您在行为中设置的原点。因此,如果您有 /api/* 想要转发到负载均衡器的路径,那么调用 CloudFront_URL/api/* 不会导致负载均衡器上的 CloudFront_URL/api/api*

至于为什么不带 /api/* 的 URL 对您有用是因为它会转到 CloudFront 中的默认行为并从 S3 加载您的网站。

【讨论】:

    猜你喜欢
    • 2021-10-20
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 2017-12-04
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多