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

从AWS Lambda Python函数发送POST请求时出现连接超时错误

问题:AWS Lambda发送POST请求超时

错误信息

[ERROR] ConnectionError: HTTPConnectionPool(host=********************s3-website.ap-south-1.amazonaws.com', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f69fdfbda90>: Failed to establish a new connection: [Errno 110] Connection timed out'))
Traceback (most recent call last):

相关代码

import json
import uuid
import datetime
import re
import base64
import requests
import httpx
import asyncio

def lambda_handler(event,context):
    INVENTORY_CP_OPERATION_URL="************.s3-website.ap-south-1.amazonaws.com/"
    message={
       "email":"*******@********.com",
       "password":"123456"
        }
    result=requests.post(INVENTORY_CP_OPERATION_URL, json=message)
    return "success"

排查与解决步骤

  • 检查Lambda网络配置:若Lambda部署在默认VPC的私有子网,默认无出站互联网访问权限。需给子网配置NAT网关,或把Lambda部署到开启自动分配公网IP的公有子网。
  • 验证目标地址有效性:确认S3静态网站域名拼写正确,且公网可访问。S3静态站格式为bucket-name.s3-website-region.amazonaws.com,检查是否存在符号错误或字符缺失。
  • 检查安全组与NACL规则:Lambda所属安全组需允许出站80端口(HTTP)流量;对应子网的网络访问控制列表(NACL)需允许出站80端口请求,以及入站响应流量。
  • 切换为HTTPS访问:S3静态网站可通过CloudFront分发或部分区域直接支持HTTPS,将URL改为https://开头,使用443端口,规避HTTP的潜在限制。
  • 设置请求超时:给requests.post添加超时参数,比如requests.post(INVENTORY_CP_OPERATION_URL, json=message, timeout=10),避免无意义等待,同时确保Lambda函数执行超时时间大于请求超时。
  • 清理冗余依赖:代码中httpx、asyncio等未使用的库可删除,减少部署包体积,避免不必要的资源占用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 04:24:25