Pregunta Subdominio comodín (* .ejemplo.com) con Amazon Route53 DNS y S3


Estoy hospedando un sitio web estático utilizando Amazon Route53 para DNS y S3 para archivos html. Está funcionando bien.

La configuración actual es:

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

(NOTA: example.com y www.example.com son cubos de S3. Mis archivos HTML residen en bucket de example.com).

Ahora quiero agregar un subdominio comodín como este: esto es lo que probé:

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

La idea es tener algo.example.com para resolver correctamente el sitio web. Pero esto no parece estar funcionando. Entonces, cuando voy al sitio web: joker.example.com, veo un mensaje de error en el navegador:

Code: NoSuchBucket
Message: The specified bucket does not exist
BucketName: joker.example.com

8
2018-03-15 16:01


origen




Respuestas:


La respuesta de @edvinas.me es correcta. Debe crear una distribución de frente de nube para su cubo.

Cuando cree la distribución de cloudfront, establezca la opción de Nombres de dominio alternativos en * .ejemplo.com.

Luego use la url de cloudfront como d3lt3rsz2leycm.cloudfront.net.

Ahora puedes agregar un subdominio comodín como este:

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

Y debería funcionar.


9
2017-12-17 15:09





Su S3 Bucket está configurado para aceptar solo solicitudes de example.com (y / o www.example.com). No puede configurar su grupo para aceptar o cualquier subdominio específico que desee que esté activo.

La única forma en que podría lograr esto es mediante el uso de un servicio externo como Cloudfront http://aws.amazon.com/cloudfront/ lo que sería proxy las solicitudes.

La respuesta de Michael (sqlbot) parece ir a cubrir esto con más detalle.


1
2018-03-15 17:13



Cómo hacer eso - ES la pregunta en sí misma. - Jasper
Como la configuración no es compatible, necesita usar un servicio externo para eso. - phoops


Amazon S3 usa el nombre de host para determinar el nombre del depósito.

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

El nombre del host es la minúscula del valor enviado por el navegador en el Host: encabezamiento. No hay una manera de configurar un grupo para responder a múltiples nombres de host.

Hay algunas formas indirectas de lograr esto, dependiendo de lo que intenta hacer, pero requerirá una instancia de EC2 que ejecute HAProxy, Varnish, Apache o algo similar, para responder a las solicitudes de los nombres de host comodín con una redirección a reescriba la barra de direcciones del navegador al nombre de host / nombre de depósito real o mezcle los encabezados de solicitud y envíe la solicitud a S3, que no es tan ineficiente como puede parecer, ya que no hay cargos de transferencia de datos entre S3 y EC2 dentro del mismo Región, y la latencia es baja.


0
2018-03-16 12:16