Setting up a CNAME for an S3 bucket using Amazon Route 53

后端 未结 3 1689
时光取名叫无心
时光取名叫无心 2021-02-06 13:31

I need the following url

http://liangpai.s3.amazonaws.com/uploadImage/shareImage/2012-10/506dc1ef71dcf.png

showing as:

http://imgs.liangpai.me/uploadImag

相关标签:
3条回答
  • 2021-02-06 14:14

    S3 CNAMEs require the bucket name to match the host name. If you want S3 to serve from imgs.langpai.me, you need to create a bucket named imgs.langpai.me. See the S3 documentation for more.

    You could create a CloudFront distribution to answer to imgs.langpai.me (see CloudFront CNAME support) have it and forward requests to langpai.s3.amazonaws.com. This would, of course, also incur CloudFront charges.

    0 讨论(0)
  • 2021-02-06 14:19

    Method 1 : S3 direct CNAME by bucket name

    You can create a CNAME record by bucket name following these steps.

    1. Create a bucket name using the same name you will use for your dns entry. i.e. subdomain.mydomain.net

    2. Create a cname record for subdomain.mydomain.net to s3.amazonaws.com

    3. Set permissions on your bucket based on the access you plan to grant

    Method 2 : Static Website on S3

    If you are serving static content such as images, files, etc. you can use "Static Website Hosting" for your S3 bucket.

    Select your bucket by clicking the bucket icon (enter image description here) and select the "properties" tab on the right and expand "Static Website Hosting". In the Static Website Hosting panel, select the radio button to "Enable website hosting" and set an index and error document. It this point, you will see an "Endpoint" name in this panel. Simple create a DNS CNAME record with the endpoint as the value. You can read the entire Amazon Walkthrough here.

    enter image description here

    0 讨论(0)
  • 2021-02-06 14:24

    Try this

    Using your own bucket CNAME:

    echo S3::getAuthenticatedURL("s3bucket.mydomain.com", $uri, 3600, true);
    

    but you putobject file check for read for Everyone premisssion type:

    S3::ACL_PUBLIC_READ

    $s3->putObjectFile($tmp, $bucketname , $path.$filename, S3::ACL_PUBLIC_READ)

    0 讨论(0)
提交回复
热议问题