AWSLambda使用“Samlocal”——如何通过HTTPS连接
创始人
2024-09-26 08:30:42
0

在本地使用“sam local”测试AWS Lambda时,需要通过HTTPS连接。要实现此目标,需要使用本地 TLS 证书以及在 Lambda 中启用 HTTP API。

以下是具体步骤和代码示例:

步骤1:安装 mkcert 和 nss (MacOS 用户可以使用 homebrew 安装):

brew install mkcert nss

步骤2:创建本地的 TLS 证书:

mkcert -install # 安装根证书 mkcert -key-file key.pem -cert-file cert.pem localhost 127.0.0.1 # 为本地 HTTPS 服务器创建证书

步骤3:将证书添加到 Lambda 函数的“环境变量”中:

"environment": { "SSL_CERT_FILE": "/etc/ssl/certs/ca-certificates.crt", "SSL_KEY_FILE": "/var/task/key.pem", "SSL_CRT_FILE": "/var/task/cert.pem" }

步骤4:在 Lambda 函数中启用 HTTP API:

const http = require('http') const https = require('https') const express = require('express') const app = express()

// Redirect HTTP to HTTPS http.createServer((req, res) => { res.writeHead(301, { "Location": "https://" + req.headers.host + req.url }) res.end() }).listen(8080)

// HTTPS server https.createServer({ key: fs.readFileSync(process.env.SSL_KEY_FILE), cert: fs.readFileSync(process.env.SSL_CRT_FILE), ca: [ fs.readFileSync(process.env.SSL_CERT_FILE) ] }, app).listen(8443)

步骤5:通过 HTTPS 连接 Lambda 函数:

在本地使用 cURL 命令进行测试:

curl -k https://localhost:8443/my-function

注意:这里使用了 curl 的 "-k" 参数禁用了 SSL/TLS 的证书验证。在实际的应用场景中,我们不建议这样做,因为这可能导致安全漏洞。

以上是使用“sam local”测试 AWS Lambda 并通过 HTTPS 连接的完整步骤和代码示例。

相关内容

热门资讯

透视攻略"cloud... 透视攻略"cloudpoker作弊"详细辅助新2025版(手机插件透明);1.cloudpoker作...
透视新版"wepok... 透视新版"wepoker透视脚本是什么"详细辅助分享教程(透视底牌透视)是一款可以让一直输的玩家,快...
透视透视"epoke... 透视透视"epoker透视"详细辅助力荐教程(透视底牌透视)这是由厦门游乐互动科技有限公司精心打造的...
透视好牌"wepok... 1、透视好牌"wepoker软件靠谱么"详细辅助安装教程(透视脚本免费透视)。2、wepoker软件...
透视实锤"wepok... 1、透视实锤"wepoker怎么看牌型"详细辅助分享教程(破解辅助插件软件)2、进入游戏-大厅左侧-...
透视存在"德普之星辅... 1、透视存在"德普之星辅助器怎么用"详细辅助德州论坛(买脚本靠谱神器);详细教程。2、德普之星辅助器...
透视总结"wepok... 透视总结"wepoker辅助器有哪些功能"详细辅助黑科技教程(透视器免费技巧)1、很好的工具软件,可...
透视有挂"wepok... 透视有挂"wepoker可以免费玩吗"详细辅助安装教程(私人局外卦透视);致您一封信;亲爱wepok...
透视智能ai"wep... 透视智能ai"wepoker软件安装包"详细辅助黑科技教程(辅助技巧);科技安装教程;1367043...
透视了解"pokem... 1、透视了解"pokemmo手机版脚本"详细辅助攻略教程(软件透明);详细教程。2、pokemmo手...