Używam s3-php5-curl, aby uzyskać dostęp do mojego kubełka AWS S3.S3-php5-curl na instancji AWS EC2 - żądana nazwa domeny nie pasuje do certyfikatu serwera
Funkcja działa dobrze i pobiera wynik, gdy sama hostuję aplikację PHP, ale kiedy umieszczę ten sam kod w instancji AWS EC2 (domyślny AIM - Linux, Apache, PHP), pojawia się następujący błąd:
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
nie mogę zrozumieć tego. Co to znaczy i jak mogę to rozwiązać?
EDYCJA: Zrobiłem to jako odpowiedź, ale myliłem się. Połączyłem się z tym, co wydaje się być podstawowym problemem, niezależnie od tego, czy używasz pakietu Amazon SDK, czy biblioteki php5-curl. Wygląda na to, że ogólny problem dotyczy użytkowników EC2 w niektórych regionach, którzy próbują uzyskać dostęp do swoich zasobników S3 związanych z certyfikatem SSL, gdzie nazwa zasobnika obejmuje kropkę (okres). Zostało to udokumentowane, ale nierozwiązane here.
Idealny! To teraz działa! Wydaje się, że jest to rzecz regionu. Aby potwierdzić, po ustawieniu regionu na EU_WEST mogę teraz uzyskać dostęp do mojego zasobnika z EC2 za pomocą SSL z włączonym verifyhostem. Dziękuję bardzo, że posortowałeś mój problem dla mnie. – chrislewisdev
Nie ma za co! Cieszę się, że pomogło! –
To nie działało dla mnie, dopóki nie dodałem '$ s3-> ssl_verification = false;' (AWS v1.5.10) –