gpt4 book ai didi

node.js - 如何将 NODE_EXTRA_CA_CERTS 的值传递给使用无服务器部署的 AWS Lambda?

转载 作者:行者123 更新时间:2023-12-03 12:11:42 26 4
gpt4 key购买 nike

我正在部署一个 Node AWS LambdaServerless .由于运行此代码的机构的内部要求,我需要通过额外的证书。我能找到的唯一解决方案是通过 NODE_EXTRA_CA_CERTS作为 CLI 参数。使用典型的环境变量(例如在 dotenv 中定义)不起作用,因为此时在 Node 中已经配置了证书。

我的额外证书在 MyCerts.pem在项目根目录中,我尝试运行的 Lambda 函数名为 function1 .使用 NODE_EXTRA_CA_CERTS=./MyCerts.pem npx serverless invoke local -f function1 -l 在本地运行 Lambda工作正常。但是,一旦我使用 npx serverless deploy -v 部署到 AWS ,我找不到正确包含这些附加证书的方法,包括使用 NODE_EXTRA_CA_CERTS=./MyCerts.pem npx serverless invoke -f function1 -l 从 CLI 调用。 .

我已经尝试了所有我能想到的方法并且不知所措。有人可以帮忙吗?

最佳答案

我认为这在 AWS Lambda 中绝对是可能的。
dev.to [1] 上有一个与您的用例类似的示例。
但是,他们使用的是 .NET Core 和 AWS SAM,但应该很容易使解决方案适应无服务器和 Node.js。
基本上,您需要两个步骤:

  • 创建一个 Lambda 层来保存您的附加证书文件 [2][3]
  • 将环境变量 NODE_EXTRA_CA_CERTS 添加到您的 serverless.yml 并将路径指向您在 Lambda 层中上传的文件 [4]

  • 引用
    [1] https://dev.to/leading-edje/aws-lambda-layer-for-private-certificates-465j
    [2] https://www.serverless.com/plugins/serverless-layers
    [3] https://www.serverless.com/blog/publish-aws-lambda-layers-serverless-framework
    [4] https://www.serverless.com/blog/serverless-v1.2.0

    关于node.js - 如何将 NODE_EXTRA_CA_CERTS 的值传递给使用无服务器部署的 AWS Lambda?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60442890/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com