【问题标题】:AWS API Gateway error, Network error communicating with endpoint, 504 Gateway TimeoutAWS API 网关错误、与端点通信的网络错误、504 网关超时
【发布时间】:2016-10-27 18:34:13
【问题描述】:

HTTP/1.1 504 网关超时

我收到与此处所述相同的错误消息:

https://forums.aws.amazon.com/thread.jspa?messageID=729094

但是,在这种情况下,他们尝试使用自定义端口号,这就是问题的原因。我们不尝试使用自定义端口号。

错误是:

{"message": "与端点通信的网络错误"}

昨天我可以运行这个查询,它运行良好:

curl "https://api.heddy.com/lkapi/authtoken?user=lklk@heddy.com&pass=xxx" -X GET --header 'Accept: application/json' --header 'x-api-key: xxx'

我会取回一个 JWT 令牌并使用它进行进一步的查询。

昨天我创建了一个新的“资源”,将其添加到我们的 API,然后将其部署到我们的测试阶段,即“lkapi”,您可以在上面的 URL 中看到它。

因为我已经完成了部署,所以我无法通过 AWS API 网关。我不知道我做错了什么。

关于我应该检查什么有什么想法吗?

如果我执行“curl”的详细版本,我会看到错误是:

504 网关超时

如果上游应用未运行,通常会发生此错误。但我知道它正在运行。那么还剩下什么?可能是端口配置错误?

【问题讨论】:

    标签: amazon-web-services aws-api-gateway


    【解决方案1】:

    首先,尝试使用您希望 API Gateway 传递的相同参数向您的后端集成端点发出 curl 请求。确认请求完成并用时不到 29 秒,即 API 网关超时。

    接下来,尝试通过 API Gateway 控制台中的测试工具调用您的 API,并检查输出以获取更多信息。确认 API Gateway 正在调用正确的端点并且正在传递您期望的标头和正文值。此外,请观察调用集成端点的任何错误消息。

    如果这没有帮助,请在您部署的 API 上启用 CloudWatch 日志,发出一些测试请求,然后检查生成的日志。

    如果您仍然无法弄清楚,您可以发布前面提到的步骤的输出以及大张旗鼓的 API 导出。如果其中任何一个包含敏感信息,您可以私信给我。

    【讨论】:

    • 我发现了问题:我们使用 nodeproxy 将应用程序匹配到 AWS 正在侦听的端口,但是 nodeproxy 没有设置为在服务器重新启动时重新启动,并且有人重新启动了服务器。所以 nodeproxy 没有运行。所以 AWS 正在侦听,NodeJS 应用程序已准备就绪,但他们听不到对方的声音。
    猜你喜欢
    • 2011-04-08
    • 2017-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-08
    • 2016-06-19
    • 1970-01-01
    • 2021-04-05
    相关资源
    最近更新 更多