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

未配置VPC的AWS Lambda环境访问gg.deals超时问题求解

解决AWS Lambda未配置VPC时访问gg.deals超时的问题

核心原因分析

未配置VPC的Lambda默认拥有公网访问权限,出现连接超时大概率是gg.deals的反爬/防火墙机制拦截了Lambda的AWS出口IP段——这类网站通常会识别云服务商的批量IP池并直接屏蔽,常规的requests参数调整(关闭验证、重试、超时设置)无法绕过IP级拦截。

可行解决方案

1. 模拟真实浏览器请求(补充完整请求头)

仅设置基础headers不够,需要模拟浏览器的完整请求特征:

import requests
from bs4 import BeautifulSoup

url = 'https://gg.deals/games/?page=1'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8',
    'Accept-Language': 'en-US,en;q=0.5',
    'Accept-Encoding': 'gzip, deflate, br',
    'Connection': 'keep-alive',
    'Upgrade-Insecure-Requests': '1',
    'TE': 'Trailers'
}

try:
    response = requests.get(url, headers=headers, timeout=30)
    response.raise_for_status()
    soup = BeautifulSoup(response.text, 'html.parser')
    # 后续处理逻辑
except requests.exceptions.RequestException as e:
    print(f"请求失败: {str(e)}")

如果还是超时,说明IP拦截是核心问题,继续往下看。

2. 配置VPC+NAT网关获取固定出口IP

未配置VPC的Lambda使用AWS共享公网IP池,容易被识别。配置VPC后通过NAT网关访问公网,可获得固定出口IP:

  • 创建VPC、子网、安全组(允许出站HTTPS流量)
  • 创建NAT网关并绑定弹性IP(固定出口IP)
  • 将Lambda配置到该VPC的子网中,路由表指向NAT网关
  • 尝试将这个固定IP提交给gg.deals申请白名单(如果网站支持)

3. 使用代理服务转发请求

通过第三方代理或AWS内部代理服务切换出口IP:

  • 选择支持HTTPS的代理服务,获取代理地址
  • 在requests中配置代理参数:
proxies = {
    'https': 'https://your-proxy-address:port'
}
response = requests.get(url, headers=headers, proxies=proxies, timeout=30)

注意选择可靠的代理,避免代理本身超时或被目标网站拦截。

4. 检查Lambda执行环境限制

  • 确认Lambda的执行角色拥有lambda.amazonaws.com的基本权限,无额外网络限制
  • 切换AWS区域测试:部分区域的Lambda出口IP可能未被gg.deals屏蔽

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 04:17:01