请求的域名与AWS EC2实例上的S3-php5-curl不匹配服务器的证书

我正在使用s3-PHP5-curl来访问我的AWS S3存储桶。

getBucket()函数工作正常,当我自己托pipePHP应用程序时检索结果,但是当我将完全相同的代码放入AWS EC2实例(aim – Linux,Apache,PHP)时,出现以下错误

Warning: S3::getBucket(): [51] Unable to communicate securely with peer: requested domain name does not match the server's certificate. In /var/www/html/s3-PHP5-curl/S3.PHP on line 136 Warning: Invalid argument supplied for foreach() in /var/www/html/index.PHP on line 15

我无法理解它。 这是什么意思,我该如何解决呢?

当我在我的amazon ec2微型实例中遇到“MysqLd dead,subsys locked”时该怎么办?

在远程服务器的后台运行mvn exec

wordpress上传图片时出错“文件为空”

无法将Wsgi脚本作为python模块加载 – 500内部服务器错误

在ec2上安装Python uwsgi

编辑:我确实标记为答案,但我错了。 无论您使用Amazon SDK还是PHP5-curl库,我都链接到底层问题似乎是什么。 似乎有一个普遍的问题影响了一些地区的EC2用户,他们尝试以程序的方式访问他们的存储桶名称包括一站式(又名期间)的SSLauthentication的S3存储桶。 它已被logging,但在这里没有解决

瘦服务器不能在Amazon Ec2上的生产模式(实时)上工作

用户数据中发送PowerShell脚本到Windows ec2

jenkins从事EC2失败的Windows Server 2016

如何SSH和sftp进入弹性加载balacer背后没有弹性IP地址的ec2

如何解决亚马逊EC2 Linux上的httpd冲突?

尝试使用适用于PHP 1.5.5的AWS开发工具包,并确保指定您的区域并将path_style设置为true。 对我来说,我在新加坡,所以我的代码是:

$s3 = new AmazonS3(); $s3->set_region(AmazonS3::REGION_APAC_SE1); $s3->path_style = true;

这似乎为我工作。

希望能帮助到你!

干杯,阿尔迪

Unable to communicate securely with peer: requested domain name does not match the server's certificate.

当CURL尝试验证证书时发生此错误。 虽然可以使用卷曲选项禁用此设置,但为什么证书名称不匹配存在。

它看起来像你的图书馆有点过时,你可能要考虑使用这个: http : //aws.amazon.com/sdkforPHP/

您可以通过编辑s3-PHP5-curl/S3.PHP改变行1298-1299来始终指示CURL不检查有效的SSL证书:

curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false); curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);

这对于xzs3.amazonaws.com类型的存储桶来说是必需的,正如上面注释中的datasage所指出的,* .s3.amazonaws.com的通配符SSL证书不包括这些。

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....