【问题标题】:aws cli works perfectly but Python script gets CERTIFICATE_VERIFY_FAILEDaws cli 完美运行,但 Python 脚本获取 CERTIFICATE_VERIFY_FAILED
【发布时间】:2018-04-05 21:29:02
【问题描述】:

我通过 SSH 连接到我的 EC2 实例。我可以运行这些命令并且它们运行良好:

aws sqs list-queues

aws s3 ls

我有一个小的 Python 脚本,它从数据库中提取数据,将其格式化为 XML,然后将文件上传到 S3。此上传失败并出现以下错误:

Traceback (most recent call last):
  File "./data_test/data_analytics/lexisnexis/async2.py", line 289, in <module>
    insert_parallel(engine, qy, Create_Temp.profile_id, nworkers)
  File "./data_test/data_analytics/lexisnexis/async2.py", line 241, in insert_parallel
    s3upload(bucketname, keyname, f)
  File "./data_test/data_analytics/lexisnexis/async2.py", line 89, in s3upload
    bucket = conn.get_bucket(bucketname)
  File "/usr/lib/python2.7/dist-packages/boto/s3/connection.py", line 506, in get_bucket
    return self.head_bucket(bucket_name, headers=headers)
  File "/usr/lib/python2.7/dist-packages/boto/s3/connection.py", line 525, in head_bucket
    response = self.make_request('HEAD', bucket_name, headers=headers)
  File "/usr/lib/python2.7/dist-packages/boto/s3/connection.py", line 668, in make_request
    retry_handler=retry_handler
  File "/usr/lib/python2.7/dist-packages/boto/connection.py", line 1071, in make_request
    retry_handler=retry_handler)
  File "/usr/lib/python2.7/dist-packages/boto/connection.py", line 1030, in _mexe
    raise ex
SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)

即使在 aws cli 工作时,我怎样才能让脚本死掉?

需要明确的是,我在运行 aws cli 命令时以同一用户的身份从同一 EC2 实例运行 Python 脚本。

aws --version

aws-cli/1.11.176 Python/2.7.12 Linux/4.9.43-17.38.amzn1.x86_64 botocore/1.7.34

【问题讨论】:

  • 如果使用存储桶名称代替 xyz 运行“aws s3api head-bucket --bucket xyz”会发生什么?

标签: amazon-web-services ssl aws-cli


【解决方案1】:

错误消息的最后一行告诉你问题:

SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)

您的问题可能是以下之一:

1) 您要连接的服务器的证书存在错误。

2) 您要连接的服务器的证书链不完整。

3) 您缺少“cacert.pem”。在“cacert.pem”上进行谷歌搜索。这是一个常见问题,有很多关于下载和安装此文件的信息。

Certificate verification in Python

【讨论】:

  • 有意思,但是aws cli怎么没问题,但是boto太笨了,什么aws cli都干不了?
猜你喜欢
  • 1970-01-01
  • 2011-10-04
  • 2015-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-05
  • 1970-01-01
  • 2020-05-28
相关资源
最近更新 更多