2015-12-16 9 views
5

Chciałbym użyć subdomeny zamiast bezpośredniego adresu URL do mojego s3 w amazon.com. Więc zamiast pobierać obrazy za pomocą adresu URL, takiego jak http://bucket-images.s3-eu-west-1.amazonaws.com/path/to/image.png, chciałbym użyć http://assets.domain.com/path/to/image.png. Próbowałem ustawienie CNAME tak:CNAME to s3 bucket amazon

CNAME assets domain.com bucket-images.s3-eu-west-1.amazonaws.com 

Ale po ustawieniu tego CNAME otrzymuję taki błąd z Amazon, kiedy odwiedzam domenę:

<Error> 
    <Code>NoSuchBucket</Code> 
    <Message>The specified bucket does not exist</Message> 
    <BucketName>assets.domain.com</BucketName> 
    <RequestId>45646DFSDFSFASDF</RequestId> 
    <HostId> 
     dfasdcvcvd546456454ds5fasdf4ad5f64asdfasdfccdfgvggtg 
    </HostId> 
</Error> 

Tutaj oni mówią zmienić bucketname : https://forums.aws.amazon.com/message.jspa?messageID=237562 Ale to nie ma sensu. Wcześniej pracowałem nad projektem, który używał nazwy wiadra zupełnie innej niż poddomena. Więc musi być droga ... Ktoś, kto może mi pomóc?

+1

Jaka jest nazwa wiadra, a ty mogłabyś poinformowanie nas pełną domenę zaangażowane więc możemy spojrzeć i sprawdź, czy poprawnie rozwiązuje się przez DNS? –

Odpowiedz

9

S3 trzeba CNAME i nazwę wiadro dopasować:

Nazwa wiadro musi być taka sama jak CNAME. Więc http://images.johnsmith.net/filename byłaby taka sama jak http://images.johnsmith.net.s3.amazonaws.com/filename jeśli CNAME zostały stworzone do map images.johnsmith.net do images.johnsmith.net.s3.amazonaws.com

Tak więc w swoim konkretnym przykładzie trzeba wymienić wiadro assets.domain.com .

http://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingCustomURLs

Jeśli potrzebujesz większej elastyczności, można stworzyć dystrybucję CloudFront dla S3 wiadra i przypisać do swojej dystrybucji CNAME CloudFront.

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html

+1

Cloudfront, to wszystko !! Wielkie dzięki. –