我正在使用Serverless部署Node AWS Lambda。由于运行此代码的机构的内部要求,我需要通过额外的证书。我唯一能找到的解决方案是将NODE_EXTRA_CA_CERTS作为CLI参数传递。使用典型的环境变量(例如,在dotenv中定义)不起作用,因为到Node为止,证书已经配置好了。
我的额外证书位于MyCerts.pem
项目根目录中,而我尝试运行的Lambda函数称为function1
。在本地运行LambdaNODE_EXTRA_CA_CERTS=./MyCerts.pem npx serverless invoke local -f function1 -l
可以正常工作。但是,一旦我使用部署到AWS上npx serverless deploy -v
,就找不到合适的方法来包括这些其他证书,包括使用来从CLI调用NODE_EXTRA_CA_CERTS=./MyCerts.pem npx serverless invoke -f function1 -l
。
我尝试了所有我能想到的一切,但茫然。有人可以帮忙吗?
我认为这绝对应该在AWS Lambda中实现。
dev.to [1]上有一个示例,与您的用例相似。但是,他们使用的是.NET Core和AWS SAM,但是应该很容易将解决方案适应无服务器和Node.js。
基本上,您需要执行两个步骤:
[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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句