Subdomena wieloznaczna (* .example.com) z Amazon Route53 DNS i S3

12

Prowadzę statyczną stronę internetową za pomocą Amazon Route53 dla DNS i S3 dla plików HTML. Działa dobrze.

Obecna konfiguracja to:

example.com.  A   ALIAS s3-website-us-east-1.amazonaws.com. 
www.example.com. CNAME www.example.com.s3-website-us-east-1.amazonaws.com

(UWAGA: example.com i www.example.com są segmentami S3. Moje pliki HTML znajdują się w segmencie example.com).

Teraz chcę dodać subdomenę z symbolami wieloznacznymi, tak jak to - próbowałem:

*.example.com. CNAME  www.example.com.s3-website-us-east-1.amazonaws.com

Chodzi o to, aby mieć cokolwiek.przyklad.com, aby poprawnie rozwiązać stronę. Ale to nie wydaje się działać. Kiedy wchodzę na stronę: joker.example.com, widzę komunikat o błędzie w przeglądarce:

Code: NoSuchBucket
Message: The specified bucket does not exist
BucketName: joker.example.com
Jaspis
źródło

Odpowiedzi:

10

Odpowiedź na @ edvinas.me jest poprawna. Musisz utworzyć dystrybucję chmurową dla swojego segmentu.

Podczas tworzenia dystrybucji w chmurze ustaw alternatywną opcję Nazwy domen na * .example.com.

Następnie użyj adresu URL w chmurze, takiego jak d3lt3rsz2leycm.cloudfront.net.

Teraz możesz dodać subdomenę z symbolami wieloznacznymi w następujący sposób:

*.example.com. CNAME  3lt3rsz2leycm.cloudfront.net.    

I powinien działać.

Javier Arnáiz
źródło
1

Amazon S3 używa nazwy hosta do określenia nazwy segmentu.

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

Nazwa hosta to mała litera wartości wysyłanej przez przeglądarkę w Host:nagłówku. Nie ma sposobu na skonfigurowanie segmentu w celu reagowania na wiele nazw hostów.

Istnieje kilka sposobów na osiągnięcie tego celu, w zależności od tego, co próbujesz zrobić, ale będzie to wymagało wystąpienia EC2 z uruchomionym HAProxy, Varnish, Apache lub czymś podobnym, aby albo odpowiedzieć na prośby o nazwy hosta z symbolami wieloznacznymi z przekierowaniem do przepisz pasek adresu przeglądarki do prawdziwej nazwy hosta / nazwy wiadra lub zamontuj nagłówki żądania i proxy żądania do S3, co nie jest tak nieefektywne, jak mogłoby się wydawać, ponieważ nie ma opłat za przesyłanie danych między S3 i EC2 w tym samym region, a opóźnienie jest niskie.

Michael - sqlbot
źródło
1

Wiadro S3 jest skonfigurowane tak, aby akceptowało tylko żądania dla example.com (i / lub www.example.com). Nie można skonfigurować segmentu do akceptowania ani żadnych konkretnych subdomen, które mają być aktywne.

Jedynym sposobem na osiągnięcie tego jest skorzystanie z zewnętrznej usługi, takiej jak Cloudfront http://aws.amazon.com/cloudfront/, która zastępowałaby żądania.

Odpowiedź Michaela (sqlbot) wydaje się obejmować to bardziej szczegółowo.

phoops
źródło
3
Jak to zrobić - TO samo pytanie.
Jasper
Ponieważ konfiguracja nie jest obsługiwana, musisz do tego skorzystać z usługi zewnętrznej.
phoops