PHP SDK를 사용하여 Amazon S3에서 "요청 서명이 일치하지 않음" 오류 해결
Amazon에 연결을 시도할 때 PHP용 AWS SDK를 사용하는 S3 버킷을 사용하는 경우 "우리가 계산한 요청 서명이 제공한 서명과 일치하지 않습니다."라는 오류가 발생할 수 있습니다. 특히 솔루션을 검색하는 데 수많은 시간을 보낸 후에는 실망스러운 문제가 될 수 있습니다.
문제 해결 단계
이 특정 시나리오에서는 예상치 못한 원인으로 인해 오류가 발생했습니다. 객체 키. 자세히 살펴보니 객체에 할당된 키가 마침표(.)로 시작되어 상대 경로를 나타내는 것으로 나타났습니다. 겉으로는 무해해 보이는 이 문자로 인해 서명 계산이 실패했습니다.
해결 방법
이 문제를 해결하려면 객체 키가 마침표로 시작하지 않는지 확인하세요. 다음 코드는 객체를 S3 버킷에 성공적으로 업로드합니다.
$result = $s3Client->putObject(array( 'Bucket' => $bucket, 'Key' => 'images/ABC.jpg', // Key does not start with a period 'Body' => 'Hello World!' ));
객체 키에서 선행 마침표를 제거하여 서명 계산에 성공했으며 객체가 오류 없이 S3 버킷에 업로드되었습니다. .
위 내용은 내 PHP Amazon S3 업로드가 '요청 서명이 일치하지 않습니다' 오류와 함께 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!