【问题标题】:Making HTTPS POST call is not working in AWS production env在 AWS 生产环境中进行 HTTPS POST 调用不起作用
【发布时间】:2020-01-25 06:23:34
【问题描述】:

我们的应用程序会将客户数据集成到 zoho crm。我们在 nodejs 中开发了一个 lambda 函数,它使用 ZohoCrm 库来调用 zoho api。在开发环境中一切正常。但是当我们将代码部署到 lambda 函数时,会抛出错误“post err: Error: connect ETIMEDOUT”。但是,这不会始终如一地抛出错误,有时会完美运行,有时会抛出错误。我们无法找出确切的根本原因。

zoho crm 使用 oauth 2.0。当 zohocrm 客户端通过 post 请求生成访问令牌时抛出错误“post err: Error: connect ETIMEDOUT”。

用于 lambda 函数的 AWS 架构:

Lambda 函数在我们的 VPC 中。我们正确配置了可以与 Internet 通信的子网(公共子网)。还正确配置了安全组。

Lambda 内存 256 MB 超时 3 分钟(即使存在相同的问题,我们也尝试增加超时。)

Nodejs 版本 10.16.0 zcrmsdk 版本 0.0.15

【问题讨论】:

  • 您确定安全组配置正确吗?在这种情况下,这将是我通常的嫌疑人。
  • 感谢格瑞西的回复。由于安全组配置正确,lambda 函数在 70% 的情况下完美运行,只有 30% 失败。这就是为什么我们无法找出根本原因。

标签: node.js aws-lambda node-modules zoho


【解决方案1】:

我找到了解决方案。这是因为子网关联。当我们在 vpc 中启动 lambda 时,我们必须将私有子网与 NAT 网关相关联才能调用互联网。我为我的 lambda 函数配置了公共子网。现在我改变了一切正常。

感谢大家的支持。

【讨论】:

    猜你喜欢
    • 2019-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    相关资源
    最近更新 更多