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

代理环境下Python脚本连接AWS S3报SSLError问题求助

解决代理环境下boto3连接S3的SSLError问题

问题根源

办公网络代理的SSL证书未被Python运行环境信任,导致boto3发起HTTPS请求时触发SSL验证失败。

解决方案

方案1:配置代理并信任代理CA证书

在boto3会话中明确设置代理参数,并指定代理的CA证书路径,这是最安全的生产环境方案:

修改你的代码如下:

import boto3
from io import BytesIO
from openpyxl import load_workbook
import time


def downloadBRMDataToLocal(file_path):
    # 替换为你的办公代理地址和端口
    proxy_settings = {
        'http': 'http://your-office-proxy:port',
        'https': 'http://your-office-proxy:port'
    }
    # 替换为你保存的代理CA证书路径(.pem格式)
    proxy_ca_cert = '/path/to/your-proxy-ca.pem'

    session = boto3.Session(
        aws_access_key_id='XXXXX',
        aws_secret_access_key='XXXX',
        region_name='ap-south-1',
    )
    # 配置代理与CA证书
    s3_config = boto3.session.Config(
        proxies=proxy_settings,
        ca_bundle=proxy_ca_cert
    )
    # 注意:替换BUCKET参数为实际桶名enmovil-logistics
    s3_resource = session.resource('s3', config=s3_config)
    BUCKET = s3_resource.Bucket('enmovil-logistics')

    objs = list(BUCKET.objects.filter(Prefix='brm_data/'))
    objs.sort(key=lambda x: x.last_modified, reverse=False)

    for obj in objs:
        if not obj.key.endswith('/'):
            filename = obj.key.split('/')[1]
            print(filename)
            body = obj.get()['Body'].read()
            wb = load_workbook(filename=(BytesIO(body)), data_only=True)
            wb.save(file_path)


while True:
    file_path = r"\\mydrive\sharedDataDept\LOG-PP\Rail Stagewise Transit Time Analysis\FY 22-23.xlsx"
    downloadBRMDataToLocal(file_path)
    print("Done")
    freq_mins = 15
    time.sleep(freq_mins * 60)

如果代理需要用户名密码,格式改为http://username:password@proxy:port。

方案2:临时跳过SSL验证(仅测试用)

仅用于临时排查问题,生产环境禁用,存在安全风险:

# 创建s3_resource时添加verify=False参数
s3_resource = session.resource('s3', config=boto3.session.Config(verify=False))

方案3:系统层面信任代理证书

将代理CA证书添加到Python默认信任库:

  1. 运行命令获取Python证书库路径:python -c "import certifi; print(certifi.where())"
  2. 将代理CA证书的内容追加到该路径的文件中
  3. 重启脚本即可生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 19:36:17