Curl 亚马逊EC2/S3“;自签名证书“;使用ec2上载捆绑包时出现SSL故障
当尝试将AMI包上载到S3时,是否有其他人看到此错误Curl 亚马逊EC2/S3“;自签名证书“;使用ec2上载捆绑包时出现SSL故障,curl,amazon-web-services,Curl,Amazon Web Services,当尝试将AMI包上载到S3时,是否有其他人看到此错误 Error talking to S3: Curl.Error(60): SSL certificate problem: self signed certificate in certificate chain 昨天刚开始,周五工作正常。在使用PHP工具包时报告了一些类似的问题- 但我不认为它们和我的问题完全一样。我的名字里没有点 更多回溯: Created image.part.174 Created image.part.1
Error talking to S3: Curl.Error(60): SSL certificate problem: self signed certificate in certificate chain
昨天刚开始,周五工作正常。在使用PHP工具包时报告了一些类似的问题-
Created image.part.174
Created image.part.175
Generating digests for each part...
Digests generated.
Unable to read instance meta-data for ramdisk-id
Unable to read instance meta-data for product-codes
Creating bundle manifest...
ec2-bundle-vol complete.
ERROR: Error talking to S3: Curl.Error(60): SSL certificate problem: self signed certificate in certificate chain
在运行
ec2 upload bundle
之前,是否有某种环境变量可用于(临时)切换curl的SSL验证?看起来您可能正在从以前使用ec2 bundle vol
打包的AMI运行ec2 upload bundle
,这将在创建系统映像之前删除系统上的许多不同文件(以避免敏感信息进入映像)。从:
默认情况下,捆绑过程排除可能包含敏感信息的文件。这些文件包括*.sw
,*.swo
,*.swp
,*.pem
,*.priv,
*id\u rsa*,
*id\u dsa*`gpg
,*.jks
,*/.ssh/authorized\u密钥
,以及*/.bash\u历史记录。要包含所有这些文件,请使用--no filter
选项。要包含其中一些文件,请使用--include选项
在本例中,系统上的根证书数据库似乎出了问题。在Ubuntu(可能还有其他发行版)上,运行此命令会在系统上重新加载根证书,从而解决问题:
update-ca-certificates
现在,我已经通过将lib/ec2/common/curl.rb
的第66行更改为invocation=“curl-k-sSL#{command}”
——添加-k
flag.hm,我想知道这是否与ec2 bundle vol默认不传输gpg文件有关?是的,看起来问题在于我运行的机器来自我使用ec2 bundle vol创建的AMI,它去掉了所有的.pem和.gpg文件,因为它们是“敏感的”,因此破坏了SSL。请注意,谢谢。要解决这个问题,您需要在ec2 bundle vol
命令中添加类似于--include/etc/ssl/certs
的内容。谢谢,这为我解决了这个问题。在centOS上更新ca trust
执行此任务