У меня есть Restful API (asp .net 4.5.2), развернутый на экземпляре EC2, и экземпляр EC2 играет роль IAM для доступа к корзине S3 (полный доступ к корзине).
Теперь, когда я пытаюсь прочитать объекты в корзине, он возвращает Access Denied (403) в ответ, а когда я пытаюсь загрузить любое вложение через предварительно подписанный URL-адрес, он возвращает несоответствие подписи AWS в ответ, когда мой API развернут на порту 443, но он работает нормально, когда API развернут на любом другом порту, например 80/81, и корзина доступна через aws-cli.
Есть идеи, почему это может происходить?
мои фрагменты кода для чтения объектов:
using (var s3Client = new AmazonS3Client(bucketRegion))
{
ListObjectsV2Request request = new ListObjectsV2Request
{
BucketName = bucketName,
MaxKeys = 10
};
ListObjectsV2Response response;
response = s3Client.ListObjectsV2Async(request).Result;
// Process the response.
foreach (S3Object entry in response.S3Objects)
{
keyValuePairs.Add(entry.Key, entry.Size);
}
}