¿Puedo usar CNAME para abrir una URL específica?

DNS y HTTP son dos protocolos completamente no relacionados. No es un error poco común que las personas piensen que están más integradas, pero que están muy separadas.

DNS se trata únicamente de mapear un nombre legible por humanos a (eventualmente) una dirección IP. DNS no sabe ni le importa lo que va a hacer con la información que proporciona. No sabe qué protocolo se utilizará y, por lo tanto, no hay capacidad para proporcionar detalles específicos del protocolo. Dentro de DNS, un CNAME apunta a otro registro DNS, que podría ser otro CNAME o algo que devuelva una dirección IP (como un registro A o AAAA).

Una vez que un sistema ha buscado la IP, lo que elige usar esa información es un evento completamente separado. Dentro de HTTP (S), los resultados de la búsqueda de DNS solo determinan a qué dirección IP se envía la solicitud. Si la búsqueda involucra una cadena CNAME, entonces el registro DNS que da la respuesta final a la dirección IP podría ser significativamente diferente al nombre de host DNS original que se buscó en primer lugar:

www.example.co.uk -> CNAME a host245.hostingco.us -> 192.168.1.1

Con HTTP, los encabezados de host enviados se referirán al nombre de host original (www.example.co.uk) y no al registro DNS donde finalmente se resolvió en una IP.

El resto de la ruta URL en la solicitud no está influenciada por DNS en absoluto.

No, los registros CNAME solo apuntan a otros registros de direcciones. Estos solo cubren la parte del nombre de host de la URL.

Para redirigir un nombre de dominio a una URL, debe apuntar el registro DNS a un servidor web configurado para ese nombre de dominio y luego hacer que emita un redireccionamiento HTTP a la URL correcta.

Hay servidores web que parecen hacer esto, apuntan registros de direcciones a URL, pero realizan el procedimiento anterior detrás de escena.

Su comentario hace una pregunta diferente a su tema principal.

Q1 – ¿Puedo usar CNAME para abrir una URL específica?

Un CNAME solo puede apuntar a registros ‘A’ u otros CNAME. No puede hacer que http://blah.mydomain.com apunte a http://www.otherdomain.com/ . Si la URL a la que desea apuntar es solo http://www.otherdomain.com (sin agregar nada al final), entonces puede apuntar un CNAME pero probablemente no funcionará ya que es probable que el servidor web aloje muchos sitios y no sabrán qué hacer cuando se le pida http://blah.mydomain.com

P2: ¿Puedo señalar https://pay.mydomain.net/buy/123/ en http://pay.example.net/buy/123/ ?

Técnicamente, puede apuntar “pay.example.net” a “pay.otherdomain.com” pero, de nuevo, es muy poco probable que funcione. El servidor web no esperará que se le solicite ese dominio. Además, dado que es un sitio HTTPS seguro, el certificado no coincidirá con la dirección del sitio web, por lo que, incluso si funcionara, los usuarios verían una advertencia de seguridad y eso no es realmente lo que desea que vean sus usuarios.

Técnicamente no. Los directorios en una URL no son parte del nombre DNS, son exclusivos de http / https y protocolos similares. Por ejemplo, no puede ssh o telnet a una uri con una barra inclinada. Dicho esto, algunos hosts DNS pueden hacerlo. Creo que redirigen la solicitud a un servidor web que administran y luego hacen una redirección 302 por usted. Esto realmente puede ralentizar sus tiempos de respuesta. Deberías hacerlo en tu servidor web.

Los CNAME son solo alias para otro nombre de dominio, por lo que las URL funcionan exactamente igual que los registros A.