Redireccionar solicitudes que no sean de www a www en Amazon Route 53

44

Quiero redirigir todas las solicitudes de example.coma www.example.com.

Preferiblemente, esto debería suceder a nivel de DNS. Intenté usar registros PTR, pero eso simplemente falla, devolviendo un 404.

wwww.example.com es un ALIAS para un Elastic Load Balancer.

¿Cuál es la forma más sencilla de lograr esto?

flavio
fuente
¿Qué probaste con los registros PTR? Soy curioso.
TRiG
@flavian el póster solicitó una reescritura de DNS, no una reescritura de URL, y específicamente dijo que no le importaba cómo se veía la URL.
pauska
44
@flavian por amor de Dios, dijiste que quieres hacer la redirección en DNS. Mi respuesta explica cómo hacerlo en DNS. Si desea redirigir la URL, necesita una reescritura de URL. No tiene nada que ver con DNS.
pauska
¿Hay alguna razón particular para hacer eso? Lo haría al revés .
nyuszika7h
SAN en EV SSL.
Flavio

Respuestas:

50

Si ya está utilizando Route 53, puede utilizar su "registro" de alias patentado para resolver este problema. Con el DNS estándar, no puede hacer esto en absoluto y debe hacer que un sitio web envíe una redirección 301. Por supuesto, aún necesita enviar los redireccionamientos 301 o lidiar con el hecho de que algunas solicitudes llegarán sin el www (aunque debe enviar 301 por razones de SEO).

Probablemente la forma más fácil de hacer esto es configurar un depósito S3 con el nombre del dominio desnudo y configurar las propiedades del depósito para redirigir desde example.com a www.example.com, y luego en la ruta 53 crear un alias para el desnudo nombre de dominio que apunta a ese depósito S3.

De los comentarios

Para mejorar la respuesta, esto es lo que hicimos para que esto funcionara:

  • Configure el depósito: no importa cuál sea su nombre y debe permitir público.
  • En el cubo, haga clic en propiedades y haga clic en alojamiento de sitios web estáticos. Haga clic en redirigir todas las solicitudes a otro nombre de host e ingrese al sitio al que desea que vaya el tráfico.
  • Copie el punto final del nombre del depósito y vaya a la zona alojada en la consola Route53 y agregue un CNAME con Alias ​​No a la url desde la que necesita ser redirigido y pegue el punto final del depósito como su valor.
Michael Hampton
fuente
@ michael-hampton me corrige si me equivoco, pero el bucket S3 solo redirige para el nombre de dominio desnudo sin ruta, ¿verdad? Agregué un cubo S3 correctamente para mi dominio, pero solo redirige el dominio desnudo y no redirige nada que tenga una ruta. Supongo que reescribir mod es el camino a seguir?
John Harding
@ JohnHarding No lo sé. Ya no uso la mayoría de los servicios de Amazon AWS, incluido S3.
Michael Hampton
2
Para mejorar la respuesta, esto es lo que hicimos para que esto funcionara: - Configurar bucket - no importa cuál sea su nombre y debe permitir público. - En el cubo, haga clic en propiedades y haga clic en alojamiento de sitios web estáticos. Haga clic en redirigir todas las solicitudes a otro nombre de host e ingrese al sitio al que desea que vaya el tráfico. - Copie el punto final del nombre del depósito, vaya a la zona alojada en la consola Route53 y agregue un CNAME con Alias ​​No a la url desde la que necesita ser redirigido y pegue el punto final del depósito como su valor.
NathanQ
44
Esto solo funciona para solicitudes http, ya que S3 no admite https. Las solicitudes a https://example.comfallarán.
Harry King
para hacer la https://example.comredirección a https://www.example.comusted, lamentablemente, necesita configurar otro frente de la nube apuntando en un cubo con redireccionamiento http estático a www.example.com. Vale la pena mencionar que debe agregar el dominio apex en el CNAMEcampo en su configuración de frente de
nube
6

Para un alias de DNS, simplemente necesita agregar un registro CNAME o A en DNS. Vea mi respuesta aquí: ¿Cómo redirijo www a no www en Route53?

Para la reescritura de URL (como en la redirección de los clientes a otra dirección), entonces necesita alguna forma de lógica de reescritura de URL realizada en el servidor web. Hay varias formas de hacerlo, y depende del tipo de servidor web que utilice. El más popular es usar mod_rewrite con apache. Este sitio está plagado de preguntas mod_rewrite, algunas búsquedas deberían obtener lo que desea.

pauska
fuente
Utilicé CNAME en mi bind9 srv interno hace exactamente una hora, pero los resultados no son los mismos que con la reescritura de url. Al ingresar este CNAME en la barra de direcciones del navegador, obtienes exactamente esa URL, no cambia a la URL a la que apunta CNAME. Estoy usando apache mod_rewrite ahora, enviando 301s cuando no hay www. prefijo.
Kitet
3
La respuesta a la que se vincula es para enviar www.domain.coma domain.com. Esta pregunta es sobre lo contrario. ¿Su solución de uso CNAMEo Aregistros funciona para enviar domain.coma www.domain.com?
Carl G
4

Puedes hacer esto usando la ayuda de un cubo s3. Los pasos se pegan a continuación:

Paso 1. Crea un cubo s3.

Paso 2. Crea el depósito como un sitio web estático que aloja con redireccionamiento.

Paso 3. Edite la entrada de AWS Route 53 para un dominio que no sea www.

A - Dirección IPv4 -> Alias ​​Sí -> Alias ​​Target (Seleccione el punto final del depósito s3 del menú desplegable).

Paso 4. Guardar conjunto de registros.

Arunlal Ashok
fuente
0

AWS Route53 actualmente no proporciona soporte para redirigir lo que actualmente se conoce como un registro APEX (el dominio raíz) a otro nombre de dominio, aunque están trabajando en una solución.

Lo he logrado creando un registro A (alias) que apunta mi dominio raíz (devopsfolks.com) a la dirección IP de mi solución alojada WP ... Y la respuesta es sí, si la IP cambia, entonces necesitará para cambiar el alias. Sin embargo, el proveedor me garantizó que la IP está arreglada a menos que necesiten realizar algún tipo de recuperación ante desastres y cambiar el hardware, en cuyo caso pondrán un proxy para realizar las redirecciones mientras les dan a los clientes 45 días para cambiar su mapeo.

Marco Tedone
fuente
55
A no significa alias, significa dirección. Y puede redirigir fácilmente con Route 53 utilizando el método de depósito S3 que se muestra arriba.
Michael Hampton
"Están trabajando en una solución" ¿Ha habido alguna actualización sobre esto?
Tom