私はs3-php5-curlを使用してAWS S3バケットにアクセスしています。AWS EC2インスタンスのS3-php5-curl - 要求されたドメイン名がサーバーの証明書と一致しません
getBucket()
機能は正常に動作し、PHPアプリケーションを自分でホストすると結果が取得されますが、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
私はそれを理解することはできません。それはどういう意味ですか、どのように解決できますか?
EDIT:私はこれを回答としてマークしましたが、間違っていました。私は、あなたがAmazon SDKを使うのかphp5-curlライブラリを使うのかにかかわらず、根底にある問題が何かに関係しているかに結びついています。バケット名にフルストップ(別名ピリオド)が含まれているSSL認証に関するS3バケットにプログラムでアクセスしようとする地域によっては、EC2ユーザーに影響する一般的な問題があるようです。これは文書化されていますが、未解決のhereがあります。
パーフェクト!これは今動作します!それは地域のもののようです。確認するには、EU_WESTに地域を設定して、verifyhostでSSLを使用してEC2からバケツにアクセスできるようになりました。そんなに私のために私の問題を並べ替えていただきありがとうございます。 – chrislewisdev
あなたは大歓迎です!私はそれが助けてうれしい! –
'$ s3-> ssl_verification = false;'(AWS v1.5.10) –