【问题标题】:Unable to figure out 502 error - AWS/CF/Custom Origin无法找出 502 错误 - AWS/CF/Custom Origin
【发布时间】:2020-12-01 23:12:43
【问题描述】:

简要历史:我最近搬到了新的 AWS 账户。我将所有设置移植到新帐户 - Route53、CF 分配、S3 存储桶、新 EC2 实例、RDS 等。

除了访问运行 Express 服务器的 Node 上的 EC2 实例上托管的 API 之外,我已设法使其大部分工作。注意:我可以通过 ip 地址访问(例如 ipaddress:8000/api/v1)。但是,不是域名 - theplaybook.rocks/v1/ap1。

顶点域工作正常(前端托管在 S3 上,具有静态网站托管,并通过配置了 DNS 记录的 CF 分发提供服务)- [theplaybook.rocks][1] 工作正常。

在 CF 发行版中,我有 2 个起源

  1. S3 静态网站 - 使用行为默认路径配置
  2. EC2 自定义源 - 使用行为 /api/* 路径配置

备用域名 - 已配置 安全策略 - TLSV1(也试过 1.1) 源协议策略(用于 EC2 源)- 仅限 HTTP EC2 起源的行为(我认为可能有助于回答这个问题的点):

  1. 查看器协议策略 - HTTP 和 HTTPS
  2. 基于选定请求标头的缓存 - 全部
  3. 转发 Cookie - 全部
  4. 查询字符串转发和缓存 - 全部转发,基于全部缓存

CF 似乎无法(或不想)连接到自定义源。

TLDR:-

http://3.15.153.208:8000/api/v1 有效(公共 IP - 所以问题可能与 node/express 和端口无关)。

http://theplaybook.rocks/api/v1/ 不起作用,实际上它曾经在不同的 AWS 帐户中工作,只是在新配置中没有。

PS:- 我在旧帐户中遇到了同样的问题。我以某种方式解决了它。而且我不记得我是如何解决的了。

请帮助...我可以分享更多信息...让我知道。谢了。

【问题讨论】:

    标签: amazon-cloudfront http-status-code-502


    【解决方案1】:

    尝试将备用域名添加到您的云前端分配:https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html

    【讨论】:

    • 我也这样做了……从一开始就这样做了。这就是为什么可以访问前端但不能访问后端(EC2 实例)的原因 - 从相同的 CF 分发中提供服务。
    • 还有其他想法吗?我相当肯定 CF 和 EC2 源之间存在问题,而同一发行版中的 s3 存储桶没有问题。
    • 这可能很明显,但我还是会问。您是否已将 Origin 配置中的 HTTP 端口更新为 8000?
    • 另外,您在 Origin Config 中对 Origin Protocol Policy 的设置是什么。仅当您解决此问题时,我才会将其设置为 HTTP
    • 大声笑@louisbuchinder \m/
    【解决方案2】:

    解决了。最后。

    我在 Origin 设置中将 HTTP 端口更改为 8000(而不是 80),它立即开始工作。

    注意:以前不是这种情况。我从来没有把8000端口放在这里。现在不知道为什么。

    感谢所有浏览这篇文章的人:-D

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-18
      • 1970-01-01
      • 2016-05-01
      • 2019-01-01
      • 2020-11-29
      • 2020-12-28
      • 1970-01-01
      相关资源
      最近更新 更多