Host a website for free on Amazon S3 with SSL


  1. Create a bucket (note the region which will be used in step 7) called It's not necessary but I also recommend turning on versioning so it's possible to rollback changes
  2. Properties > Static website hosting > Turn on
  3. Permissions > Block Public Access
    • uncheck "Block All public access"
    • check "Block public access to buckets and objects granted through new access control lists (ACLs)"
    • check "Block public access to buckets and objects granted through any access control lists (ACLs)"
  4. Permissions > Bucket Policy

        "Version": "2012-10-17",
        "Statement": [
                "Sid": "PublicReadForGetBucketObjects",
                "Effect": "Allow",
                "Principal": "*",
                "Action": "s3:GetObject",
                "Resource": "*"
  5. On your domain host: Subdomain forward →, Permanent redirect (301), Forward path, Enable SSL

  6. Go to > create a certificate for and and validate

  7. Go to > Create distribution

    • Origin Domain Name:
    • Viewer Protocol Policy: Redirect HTTP to HTTPS
    • Compress Objects Automatically: yes
    • Alternate Domain Names (CNAMEs): (on separate lines)
    • Default Root Object: index.html
    • SSL Certificate > Custom SSL Certificate and select certificate from previous step
  8. www CNAME

  9. To update the cache after updating the website, go to CloudFront and create an invalidation with object paths /

  • 0 posts
  • 0 subtopics
  • over 3 years ago by vince