Objetivos de aprendizaje
Después de leer este artículo podrás:
- Entender qué es un subdominio y cómo aparece en el DNS
- Crear un subdominio con un registro CNAME o A
- Elegir entre subdominio y subcarpeta para tu proyecto
Registras ejemplo.com una sola vez. Después puedes crear www.ejemplo.com, api.ejemplo.com y panel.ejemplo.com sin registrar nada nuevo. Cada uno de esos nombres extra es un subdominio.
Los subdominios son la forma habitual de dividir un proyecto en partes: el sitio, la API, la documentación, el entorno de pruebas. Cada parte puede correr en un servidor distinto, con su propio certificado y sus propias reglas.
¿Qué es un subdominio?#
Un subdominio es un nombre creado a la izquierda de un dominio existente. En el DNS, el nombre se lee de derecha a izquierda, y cada trozo separado por un punto es una etiqueta:
api . ejemplo . com
| | |
| | TLD (nivel más alto)
| dominio registrado
subdominioEl dominio registrado (ejemplo.com) es la parte que pagas para registrar. Todo lo que queda a su izquierda lo organizas tú. Los conceptos vienen de las RFC 1034 y 1035, que describen el DNS como un árbol en el que cada nodo delega los niveles inferiores.
¿Cómo trata el DNS a un subdominio?#
Cada subdominio puede tener sus propios registros DNS. El DNS de api.ejemplo.com no tiene que apuntar al mismo lugar que www.ejemplo.com.
Un archivo de zona simplificado:
ejemplo.com. 3600 IN A 203.0.113.10
www.ejemplo.com. 3600 IN CNAME ejemplo.com.
api.ejemplo.com. 3600 IN A 203.0.113.20
blog.ejemplo.com. 3600 IN CNAME mi-cuenta.ejemplo-blog.net.Aquí el sitio y la API están en IP distintas, y el blog lo sirve un proveedor externo. Puedes comprobar el resultado con dig:
dig +short api.ejemplo.com ALos límites de tamaño vienen de la RFC 1035: cada etiqueta tiene hasta 63 caracteres y el nombre completo hasta 255 octetos en formato binario (253 caracteres como texto). La sintaxis recomendada para hostnames (sección 2.3.1) usa letras, números y guiones.
¿Cómo se crea un subdominio?#
En el panel de DNS del proveedor que responde por tu dominio:
- Elige el tipo de registro. Si el destino es una IP, usa
A(IPv4) oAAAA(IPv6). Si el destino es otro nombre, como el de un servicio externo, usaCNAME. - En el campo de nombre, escribe solo el prefijo (
api). La mayoría de los paneles completan el dominio por ti. - Rellena el valor (la IP o el nombre de destino) y guarda.
- Espera a que venza el TTL en las cachés. Mira cómo funciona la propagación de DNS.
Un detalle que confunde a muchos: un CNAME no puede coexistir con otros registros en el mismo nombre (RFC 1912, sección 2.4). Como el dominio raíz (ejemplo.com) siempre tiene registros NS y SOA, no admite CNAME. Los subdominios sí. Algunos proveedores de DNS ofrecen un registro propio (ALIAS o ANAME) que imita al CNAME en la raíz, pero no forma parte del estándar.
¿Y el subdominio comodín (wildcard)?#
Un registro *.ejemplo.com responde por cualquier nombre bajo el dominio que no exista en la zona (RFC 4592). Sirve para sistemas en los que cada cliente recibe una dirección, como cliente1.ejemplo.com. La contrapartida es que los nombres mal escritos también resuelven, y el certificado TLS debe cubrir los nombres en uso. Consulta cómo funciona SSL/TLS.
¿Subdominio o subcarpeta?#
Subdominio (blog.ejemplo.com) |
Subcarpeta (ejemplo.com/blog) |
|
|---|---|---|
| Servidor | Puede ser otro | Mismo host |
| DNS | Registro propio | Ningún registro extra |
| Certificado TLS | Debe cubrir el nombre | Ya cubierto por el del dominio |
| Cookies | Se comparten solo si la cookie declara el dominio padre | Compartidas por defecto |
| Indicado para | API, panel, entorno de pruebas, servicio de terceros | Contenido del mismo sitio |
Usa un subdominio cuando esa parte del proyecto corre en otro lugar, usa otra tecnología o necesita aislamiento. Usa una subcarpeta cuando es contenido del mismo sitio y quieres todo bajo un único host.
¿Cuándo el "subdominio" no es tuyo?#
com, co.uk y github.io son sufijos públicos: la Public Suffix List (publicsuffix.org) registra dónde termina el "dominio registrable". Por eso ejemplo.com es un dominio tuyo y co.uk no. Los navegadores usan esa lista para impedir que un sitio defina cookies para todos los demás bajo el mismo sufijo.
Cuando un servicio te entrega miapp.proveedor.com, eso es un subdominio del proveedor, no tuyo. No controlas su DNS y, para tener un nombre propio, debes apuntar un dominio tuyo. Mira cómo usar un dominio personalizado y cómo apuntar el dominio a tu aplicación.
Cómo hacerlo en Square Cloud#
Toda aplicación web en Square Cloud recibe un subdominio *.squareweb.app con HTTPS, en todos los planes. Sirve para probar y para recibir webhooks (Telegram, por ejemplo, exige HTTPS).
Para usar api.ejemplo.com necesitas un dominio personalizado, disponible desde el plan Standard. En tu registrador creas los registros DNS que muestra el panel y sigues el estado de la validación en tiempo real. El TLS es automático. El dominio sigue registrado a tu nombre en tu registrador, y la zona DNS sigue bajo tu control, en tu proveedor de DNS.
Si el mismo dominio debe servirse desde más de una aplicación, usa el load balancing de dominio personalizado, con round-robin y failover pasivo. Consulta los detalles en Dominios y en Load balancing.
Red
Dominio propio, TLS automático y CDN global para tu app
Preguntas frecuentes
¿Los subdominios se pagan?
Normalmente no. Registras el dominio principal y creas los subdominios que quieras en el panel de DNS, sin costo por subdominio. Lo que se cobra es el registro del dominio, no los nombres creados debajo.
¿Cuál es la diferencia entre subdominio y subcarpeta?
El subdominio es blog.ejemplo.com y puede apuntar a otro servidor. La subcarpeta es ejemplo.com/blog y vive en el mismo host. Para el DNS son cosas distintas: solo el subdominio tiene registros propios.
¿Puedo usar CNAME en el dominio raíz?
No según el estándar del DNS: un CNAME no puede coexistir con otros registros del mismo nombre, y el dominio raíz siempre tiene NS y SOA. Usa un registro A o AAAA, o ALIAS/ANAME si tu proveedor de DNS lo ofrece.
¿Cuántos niveles de subdominio puedo tener?
Cada etiqueta admite hasta 63 caracteres y el nombre completo hasta 253 caracteres en formato de texto. Dentro de ese límite puedes encadenar niveles, como v2.api.ejemplo.com.
Más en Redes y dominios
Ver los 27 artículos- Qué es un balanceador de carga y para qué sirveUn balanceador de carga reparte las solicitudes entre varios servidores. Aprende cómo funciona, los algoritmos, capa 4 y 7 y un ejemplo con nginx.
- Registros DNS: A, CNAME, MX y TXTLos registros DNS son las instrucciones de una zona que indican a dónde apunta un nombre. Entiende A, AAAA, CNAME, MX, TXT, NS y CAA con ejemplos y comandos dig.
- Cómo apuntar un dominio a tu hostingPara apuntar un dominio a tu hosting, crea un registro CNAME (o A) en el DNS de tu registrador. Pasos, cómo comprobarlo y los errores más comunes.
- Encabezado Cache-Control: cuánto tiempo se guarda un archivo en cachéCache-Control es el encabezado HTTP que define cuánto tiempo navegador y CDN guardan una respuesta. Mira max-age, no-cache, immutable y recetas por tipo de archivo.