Estoy tratando de configurar el reenvío en Amazon Route53. Mi último servicio DNS (Nettica) me permitió enrutar solicitudes a "aws.example.com" a "https://myaccount.signin.aws.amazon.com/console/".
¿Esta funcionalidad es compatible con Route53?
¿Cómo logra esto Nettica? ¿Inserta un registro especial A, CNAME, PTR o TXT?
dns
forwarding
amazon-route53
Saurav
fuente
fuente
Respuestas:
Me encontraba exactamente con el mismo problema que describió Saurav, pero realmente necesitaba encontrar una solución que no requiriera otra cosa que la Ruta 53 y S3. Creé una guía práctica para mi blog que detalla lo que hice.
Esto es lo que se me ocurrió.
Objetivo
Usando solo las herramientas disponibles en Amazon S3 y Amazon Route 53, cree un redireccionamiento de URL que reenvíe automáticamente http://url-redirect-example.vivekmchawla.com a la página de inicio de sesión de la consola de AWS con alias de "MyAccount", ubicado en https : //myaccount.signin.aws.amazon.com/console/ .
Esta guía le enseñará a configurar el reenvío de URL a cualquier URL, no solo a las de Amazon. Aprenderá cómo configurar el reenvío a carpetas específicas (como "/ consola" en mi ejemplo) y cómo cambiar el protocolo de redireccionamiento de HTTP a HTTPS (o viceversa).
Paso uno: Crea tu cubo S3
Abra la consola de administración S3 y haga clic en "Crear bucket".
Paso dos: nombra tu cubo S3
Elige un nombre de cubo. ¡Este paso es realmente importante! Debe nombrar el depósito EXACTAMENTE igual que la URL que desea configurar para el reenvío. Para esta guía, usaré el nombre "url-redirect-example.vivekmchawla.com".
Seleccione la región que funcione mejor para usted. Si no sabe, mantenga el valor predeterminado.
No se preocupe por configurar el registro. Simplemente haga clic en el botón "Crear" cuando esté listo.
Paso 3: habilite el alojamiento de sitios web estáticos y especifique las reglas de enrutamiento
Pegue el siguiente fragmento de XML en su totalidad.
Si tiene curiosidad acerca de lo que está haciendo el XML anterior, visite la documentación de AWM para "Sintaxis para especificar reglas de enrutamiento" . Una técnica adicional (no cubierta aquí) es reenviar a páginas específicas en el host de destino, por ejemplo
http://redirect-destination.com/console/special-page.html
. Lea sobre el<ReplaceKeyWith>
elemento si necesita esta funcionalidad.Paso 4: Anote el "Punto final" de su Redirect Bucket
Tome nota del "punto final" de alojamiento de sitios web estático que Amazon creó automáticamente para este depósito. Necesitará esto para más adelante, así que resalte la URL completa, luego cópiela y péguela en el bloc de notas.
¡PRECAUCIÓN! En este punto, puede hacer clic en este enlace para verificar si sus Reglas de redireccionamiento se ingresaron correctamente, ¡pero tenga cuidado! Este es el por qué...
Digamos que ingresó un valor incorrecto dentro de las
<Hostname>
etiquetas en sus Reglas de redireccionamiento. Tal vez accidentalmente escribistemyaccount.amazon.com
, en lugar demyaccount.signin.aws.amazon.com
. Si hace clic en el enlace para probar la URL de Endpoint, ¡AWS con gusto redirigirá su navegador a la dirección incorrecta!Después de notar su error, probablemente editará las
<Hostname>
Reglas de redireccionamiento para corregir el error. Desafortunadamente, cuando intentas hacer clic en el enlace nuevamente, ¡lo más probable es que termines siendo redirigido a la dirección incorrecta! Aunque haya corregido la<Hostname>
entrada, su navegador está almacenando en caché la entrada anterior (¡incorrecta!). Esto sucede porque estamos usando una redirección HTTP 301 (permanente), que los navegadores como Chrome y Firefox almacenarán en caché de forma predeterminada.Si copia y pega la URL de Endpoint en un navegador diferente (o borra el caché en su actual), tendrá otra oportunidad de ver si su
<Hostname>
entrada actualizada es finalmente la correcta.Para estar seguro, si desea probar su URL de Endpoint y las Reglas de redireccionamiento, debe abrir una sesión de navegación privada, como "Modo de incógnito" en Chrome. Copie, pegue y pruebe la URL de punto final en modo de incógnito y todo lo que esté en caché desaparecerá una vez que cierre la sesión.
Paso 5: abra la consola de administración de Route53 y vaya a los conjuntos de registros para su zona alojada (nombre de dominio)
Paso 6: haga clic en el botón "Crear conjunto de registros"
Al hacer clic en "Crear conjunto de registros" se abrirá la ventana Crear conjunto de registros en el lado derecho de la consola de administración de Route53.
Paso 7: crear un conjunto de registros CNAME
En el campo Nombre, ingrese la parte del nombre de host de la URL que utilizó al nombrar su bucket de S3. La "porción del nombre de host" de la URL es todo a la IZQUIERDA del nombre de su Zona Hospedada. Llamé a mi cubo S3 "url-redirect-example.vivekmchawla.com", y mi zona alojada es "vivekmchawla.com", por lo que la parte del nombre de host que necesito ingresar es "url-redirect-example".
Seleccione "CNAME - Nombre canónico" para el Tipo de este conjunto de registros.
Para el Valor, pegue la URL de punto final del depósito S3 que creamos en el Paso 3.
Haga clic en el botón "Crear conjunto de registros". Suponiendo que no haya errores, ahora podrá ver un nuevo registro CNAME en la lista de conjuntos de registros de su zona hospedada.
Paso 8: pruebe su nueva redirección de URL
Abra una nueva pestaña del navegador y escriba la URL que acabamos de configurar. Para mí, eso es http://url-redirect-example.vivekmchawla.com . Si todo funcionó correctamente, debería ser enviado directamente a una página de inicio de sesión de AWS.
Debido a que utilizamos el
myaccount.signin.aws.amazon.com
alias como la URL de destino de nuestra redirección, Amazon sabe exactamente a qué cuenta estamos intentando acceder, y nos lleva directamente allí. Esto puede ser muy útil si desea proporcionar un enlace de inicio de sesión de AWS corto, limpio y de marca a los empleados o contratistas.Conclusiones
Personalmente, me encantan los diversos servicios de AWS, pero si ha decidido migrar la administración de DNS a Amazon Route 53, la falta de reenvío de URL fácil puede ser frustrante. Espero que esta guía haya ayudado a configurar un reenvío de URL para sus zonas alojadas un poco más fácil.
Si desea obtener más información, consulte las siguientes páginas del sitio de documentación de AWS.
¡Salud!
fuente
El soporte de AWS señaló una solución más simple. Es básicamente la misma idea propuesta por @Vivek M. Chawla, con una implementación más simple.
AWS S3:
aws.example.com
Redirect all requests to another host name
e ingrese su URL:https://myaccount.signin.aws.amazon.com/console/
AWS Route53:
Yes
. Haga clic en elAlias Target
campo y seleccione el depósito S3 que creó en el paso anterior.Referencia: Cómo redirigir dominios usando Amazon Web Services
Documentación oficial de AWS: ¿Hay alguna forma de redirigir un dominio a otro dominio utilizando Amazon Route 53?
fuente
Redirect all requests to another host name
opción todavía existe? No puedo verlo cuando voy a las propiedades del cubo.Pude usar nginx para manejar la redirección 301 a la página de inicio de sesión de aws.
Vaya a su carpeta nginx conf (en mi caso es
/etc/nginx/sites-available
en el que creo un enlace simbólico/etc/nginx/sites-enabled
para los archivos conf habilitados).Luego agregue una ruta de redireccionamiento
Si está utilizando nginx, lo más probable es que tenga bloques de servidor adicionales (hosts virtuales en terminología apache) para manejar su ápice de zona (example.com) o como lo haya configurado. Asegúrese de tener uno de ellos configurado para ser su servidor predeterminado.
En la ruta 53, agregue un
A record
foraws.example.com
y establezca el valor en la misma IP utilizada para su ápice de zona.fuente
Actualizar
Si bien mi respuesta original a continuación sigue siendo válida y podría ser útil para comprender la causa de que el reenvío de URL basado en DNS no esté disponible a través de Amazon Route 53 de inmediato, recomiendo comprobar la solución indirecta completamente inteligente de Vivek M. Chawla a través de la introducción. El soporte de Amazon S3 para sitios web redirige y logra un servidor autónomo menos y, por lo tanto, una solución gratuita dentro de AWS solo así.
Respuesta original
Nettica debe estar ejecutando una solución de redirección personalizada para esto, aquí está el problema:
Puede crear un alias CNAME como
aws.example.com
formyaccount.signin.aws.amazon.com
, sin embargo, DNS no proporciona soporte oficial para aliasing un subdirectorio comoconsole
en este ejemplo.https://myaccount.signin.aws.amazon.com/
(solo lo intenté), porque resolvería su problema de inmediato y tendría mucho sentido en primer lugar; Además, debería ser bastante fácil de configurar por su parte.Por esa razón, algunos proveedores de DNS aparentemente han implementado una solución personalizada para permitir redirecciones a subdirectorios; Me atrevo a suponer que básicamente están facilitando un alias CNAME para un dominio propio y están redirigiendo nuevamente desde allí al destino final a través de una redirección HTTP 3xx inmediata .
Entonces, para lograr el mismo resultado, necesitaría tener un servicio HTTP ejecutándose para realizar estos redireccionamientos, que no es la solución simple que uno esperaría, por supuesto. Tal vez / Espero que alguien pueda llegar a un enfoque más inteligente aún.
fuente
Si todavía tiene problemas con el enfoque simple, cree un depósito vacío y luego
Redirect all requests to another host name
en Alojamiento web estático en propiedades a través de la consola. Asegúrese de haber establecido 2 registros A en route53, uno parafinal-destination.com
y otro pararedirect-to.final-destination.com
. La configuración de cada uno de estos será idéntica, pero el nombre será diferente, por lo que coincidirá con los nombres que establezca para sus depósitos / URL.fuente