AWS Lambda中Python request.get()访问LinkedIn超时或连接重置问题排查
AWS Lambda调用LinkedIn出现连接重置/超时的原因
以下是几种大概率的诱因:
- LinkedIn反爬机制拦截:LinkedIn对非浏览器发起的请求有严格的反爬虫策略,Lambda用
requests库默认发送的请求头(尤其是User-Agent)太容易被识别为机器人,服务器会直接断开连接(出现ConnectionResetError),或者故意不响应导致超时。而你用同一子网机器curl测试时,curl的默认UA更接近正常浏览器,或者你手动配置了合规的请求头,所以能正常访问。 - Lambda出口IP被拉黑:如果你的Lambda部署在私有子网,是通过NAT网关访问公网的,那NAT网关的固定IP可能因为之前的频繁请求被LinkedIn加入黑名单。同一子网的机器如果用了独立的弹性IP出口,自然不受影响。
- 缺少必要的HTTP请求头:除了User-Agent,LinkedIn可能还要求
Accept-Language、Referer等常规浏览器会带的请求头,Lambda的请求缺失这些信息,被服务器判定为非法请求,主动终止连接。 - Lambda执行环境的网络限制:Lambda的临时执行环境在TCP连接复用、底层网络栈配置上有特殊限制,部分连接可能因为这些限制被意外重置。
- 请求频率触发限流:如果你的Lambda短时间内多次调用LinkedIn,会触发LinkedIn的流量限制策略,服务器要么直接重置连接,要么拒绝响应,最终导致超时。
内容的提问来源于stack exchange,提问作者Alberto Soto González
相关产品推荐
相关产品推荐

