botocore.exceptions.SSLError:SSL验证失败

时间:2019-02-14 12:24:19

标签: python boto3

Python:2.7.5
Pip:来自/usr/lib/python2.7/site-packages/pip(python 2.7)的pip 18.1
AWS CLI:aws-cli / 1.16.104 Python / 2.7.5 Linux / 3.10.0-862.3.3.el7.x86_64 botocore / 1.12.94
Boto3:1.9.94
Centos:CentOS Linux版本7.5.1804(核心)

我的脚本

import boto3
from botocore.exceptions import ClientError
ec2 = boto3.client('ec2')
try:
    response = ec2.describe_instances()
    print(response)
except ClientError as e:
    print(e)

运行脚本时,出现此异常:

  • botocore.exceptions.SSLError:https://ec2.region.amazonaws.com/主机名“ ec2.region.amazonaws.com”的SSL验证失败,与“ * .com.com”,“ com.com”都不匹配

请提供任何帮助! 谢谢!

2 个答案:

答案 0 :(得分:0)

@azhwani,因为您没有使用AWS IoT Core,所以这似乎与证书过期无关。

运行:

$ aws configure

...并插入您的AWS凭证。

答案 1 :(得分:0)

我已经找到解决方案了。

请勿使用pip / pip3安装boto3。

使用以下步骤:

$ git clone https://github.com/boto/boto3.git
$ cd boto3
$ virtualenv venv
...
$ . venv/bin/activate
$ pip install -r requirements.txt
$ pip install -e .

对我有用。最初,我面临相同的SSL验证异常问题。然后,我卸载了boto3(pip3卸载boto3),并如上所述使用virtualenv重新安装了它。现在,它工作正常。