Django AWS S3使用存储桶名称时的证书无效"。"

时间:2014-05-19 12:45:47

标签: django amazon-web-services amazon-s3 boto

我遇到了ticket中描述的问题。

由于S3将s3.amazon.com添加到网址,然后使自己的collectstatic证书无效,我无法在static.somesite.com本地使用django *.s3.amazon.com进行上传。 我为static.somesite.com设置了一个dns指针,指向s3服务的ip。

我设置了AWS_S3_SECURE_URLS = False

不知道如何解决它。这是完整的错误消息。我完全理解为什么会这样,必须有一个解决方法?在我们的生产服务器上,这很好用。无法找到设置。

boto.https_connection.InvalidCertificateException: 
Host static.somesite.com.s3.amazonaws.com returned an invalid certificate 

(remote hostname "static.somesite.com.s3.amazonaws.com" does not match certificate)     

{
 'notAfter': 'Apr  9 23:59:59 2015 GMT', 
 'subjectAltName': (
                    ('DNS', '*.s3.amazonaws.com'),
                    ('DNS', 's3.amazonaws.com')), 
 'subject': (
             (('countryName', u'US'),), 
             (('stateOrProvinceName', u'Washington'),), 
             (('localityName', u'Seattle'),), 
             (('organizationName', u'Amazon.com Inc.'),), 
             (('commonName', u'*.s3.amazonaws.com'),)
            )
 }

1 个答案:

答案 0 :(得分:5)

一直在挖掘我一直在使用的传输应用程序的代码。看来除了我的django项目设置之外,它正在从某个地方获取配置设置并覆盖它们。

几年前,我正在测试google云端存储以获取谷歌应用引擎测试项目,这意味着我在全球范围内安装了“Gsutils”软件包。你猜怎么着? Gsutils也使用Boto!所以一旦我发现我可以设置一个boto配置文件,我就开始寻找它了。坐在OSX上没有文件〜/ .boto可以在Finder中看到,或者在我的主目录中使用ls -al列出文件。唉,当我试图用nano ~/.botovoilá创建它时!从我使用Gsutils开始就有很多设置。

在那里,我禁用了 #https_validate_certificates = True 设置和一切现在像一个魅力。