There are some restrictions when naming and accessing S3 objects.
Bucket name restrictions
In all regions except for the US Standard region a bucket name must comply with the following rules. These result in a DNS compliant bucket name.
- Bucket names must be at least 3 and no more than 63 characters long
- Bucket name must be a series of one or more labels separated by a period (.), where each label:
- Must start with a lowercase letter or a number
- Must end with a lowercase letter or a number
- Can contain lowercase letters, numbers and dashes
- Bucket names must not be formatted as an IP address (e.g., 192.168.5.4)
The following are examples of valid bucket names:
- myawsbucket
- aws.bucket.com
- myawsbucket.1
Accessing buckets via https (secure)
If your bucket name has period in it then https fails with a certificate warning (see below).
This is due to the wildcard certificate not covering domains with periods in them. E.g. https://www.domain.com.s3-eu-west-1.amazonaws.com/image1.jpg
To make sure the URL will work in https, then you need to move the bucket name after the first “/”.
The general format is https://s3url.com/bucketname/object
Example :
https://s3-eu-west-1.amazonaws.com/www.domain.com/wifi-logo.jpg
Bucket restrictions
Further details on bucket restrictions can be found at the following URL;
http://docs.amazonwebservices.com/AmazonS3/latest/dev/BucketRestrictions.html?r=9654