【发布时间】: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 个起源
- S3 静态网站 - 使用行为默认路径配置
- EC2 自定义源 - 使用行为 /api/* 路径配置
备用域名 - 已配置 安全策略 - TLSV1(也试过 1.1) 源协议策略(用于 EC2 源)- 仅限 HTTP EC2 起源的行为(我认为可能有助于回答这个问题的点):
- 查看器协议策略 - HTTP 和 HTTPS
- 基于选定请求标头的缓存 - 全部
- 转发 Cookie - 全部
- 查询字符串转发和缓存 - 全部转发,基于全部缓存
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