Home > AWS, Random Talk > S3 Bucketname & CName Mapping Chaos

S3 Bucketname & CName Mapping Chaos

October 25th, 2012

In S3, there are two ways to access a resource, namely

s3.amazonws.com/bucketname/key

OR

bucketname.s3.amazonws.com/key

A bucketname can mixed with upper and lower case, so when the bucketname becomes part of the domain name (which naturally case insensitive), what happened?

So here is the lesson we learnt:

curl -I http://s3.amazonaws.com/testImageLibrary/11.jpg

OK

 

curl -I http://testImageLibrary.s3.amazonaws.com/11.jpg

HTTP/1.1 404 Not Found

x-amz-request-id: A2835B269C42731C

x-amz-id-2: PDRlMQKJREBD/LnZ3vfQdEvQAW99uG6sNEPuIX3Dlw+c2MzNFOzOsRObkwiVgLjL

Content-Type: application/xml

Transfer-Encoding: chunked

Date: Thu, 25 Oct 2012 23:11:23 GMT

Server: AmazonS3

So the outcome  is pretty unexpected, accessing resource with mixed case bucketname using CNAME method can be problematic…

Will update this post once I have more info.

Update:

I asked amazon if the mixing case is a problem here, and here is the response:

Hello, You’re correct. The issue is actually with the upper and lower case characters in your s3 bucket name. S3 is by default case sensitive, so when the browser converts everything to lower case, that’s what S3 is expecting. Lower case characters in the bucket name. Currently, there’s no way to have S3 be case insensitive. Would it be possible to create a bucket with only lower case letters and run your tests again to verify that this is actually the problem? Please let us know of your results or if you require any further assistance.

 

Share
Categories: AWS, Random Talk Tags:
Comments are closed.