You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过AWS Lambda公网URL向容器内Express服务发送POST请求?

通过HTTPS向容器化Lambda的Express服务发送POST请求

你有两种可行方案,其中一种无需额外AWS服务,仅配置Lambda即可实现:

方案1:仅用Lambda Function URL(无需额外服务)

这是最直接的方式,通过Lambda内置的Function URL功能暴露公网HTTPS入口:

  • 步骤1:确认容器兼容性
    你的Express服务监听8080端口刚好匹配Lambda容器运行时的转发规则,Lambda会自动把外部请求转发到容器的8080端口。确保镜像的启动命令(CMD/ENTRYPOINT)正确指向Express启动脚本,比如node server.js。

  • 步骤2:创建Function URL

    1. 打开Lambda控制台,进入目标函数的「配置」标签页,选择「函数URL」。
    2. 点击「创建函数URL」,选择认证类型:
      • 选NONE允许公开访问;
      • 选AWS_IAM则仅允许授权的AWS账号/角色访问。
    3. 按需配置CORS:如果请求来自浏览器,需设置允许的Origin、请求头(Headers)和方法(务必包含POST)。
    4. 保存后即可获得一个HTTPS公网URL,格式类似https://xxxx.lambda-url.us-east-1.on.aws/。
  • 步骤3:测试POST请求
    直接向该URL发送POST请求,Lambda会将请求转发到你容器内的Express服务。确保Express中存在对应的POST路由,示例代码:

    const express = require('express');
    const app = express();
    app.use(express.json()); // 解析JSON请求体
    
    app.post('/hello', (req, res) => {
      res.status(200).json({ received: req.body });
    });
    
    app.listen(8080, () => console.log('Server running on port 8080'));
    

方案2:借助API Gateway(适合复杂场景)

如果需要自定义域名、请求限流、多路径管理等进阶功能,可以用API Gateway转发请求:

  • 步骤1:创建API
    在API Gateway控制台选择创建HTTP API(轻量低成本)或REST API(功能更全)。

  • 步骤2:配置路由与集成
    添加POST方法的路由(比如/api/submit),将集成目标设置为你的Lambda函数,控制台会自动生成API调用Lambda的权限策略。

  • 步骤3:部署API
    将API部署到一个阶段(如prod),获取部署后的HTTPS公网URL,外部请求发送到该URL即可转发到Lambda及内部的Express服务。

核心注意点

  • Lambda容器运行时会自动处理HTTPS到HTTP的转换,你的Express服务只需监听8080端口的HTTP请求,无需配置HTTPS证书。
  • 根据Express服务的资源需求,调整Lambda的内存、超时时间配置,避免请求因资源不足或超时失败。

内容的提问来源于stack exchange,提问作者Jumpa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 14:22:26