2014-09-17 5 views
6

Ich möchte eine statische Website auf S3 hosten, dh .. abcd.com. Es erfordert einen Bucket-Namen wie "abcd.com"Warum der Amazon S3-Bucket-Name beim Hosten einer statischen Website mit dem Websitenamen übereinstimmen muss

dann fand ich abcd.com wurde von anderen Menschen besetzt.

Also das ist meine Frage, warum Bucket Name muss der gleiche wie der Name der Website sein. Da es Route 53 gibt, um die Website den Bucket-Endpunkten zuzuordnen, erscheint dies für diese Einschränkung nicht notwendig.

Gibt es einen Grund dafür?

Antwort

4

Die kurze Antwort ist, "so hat Amazon es entworfen."

Wenn der Bucket-Name nicht mit dem Domainnamen identisch wäre, wie würde S3 dann wissen, welcher Bucket verwendet werden muss, um Anfragen für eine bestimmte Domain zu bedienen?

Sie können nicht "Route 53" sagen, weil S3 vor Route 53 erstellt wurde und das Website-Hosting in S3 funktioniert auch dann, wenn Sie Route 53 für DNS nicht verwenden.

Ebenso kann es keine Konfigurationsoption für den Bucket sein, da dies nur eine neue Reihe von Problemen verursachen würde - wenn der vorherige Besitzer einer Domäne noch seinen Bucket mit Ihrer Domain konfiguriert hätte genau das gleiche Problem wie jetzt.

Sie können Ihre Site weiterhin unter S3 hosten, aber bei einem nicht übereinstimmenden Bucket-Namen benötigen Sie entweder einen Reverse-Proxy-Server in EC2 in der gleichen Region, um den Host-Header in jeder Anfrage neu zu schreiben. Sie können CloudFront verwenden, um einen ähnlichen Zweck zu erfüllen, da der Bucket-Name dann nicht übereinstimmen muss - CloudFront wird auch den Host-Header neu schreiben.