Technology

Localhost, dirección IP o dominio? Cómo darle a tu sitio web una dirección real

Tu sitio funciona en localhost, pero nadie más puede abrirlo. Aprende la diferencia entre localhost, una dirección IP y un dominio, y cómo poner tu sitio en una dirección real en tu hosting.

· 8 min de lectura

Localhost, dirección IP o dominio? Cómo darle a tu sitio web una dirección real

Creaste un sitio web con IA y funciona perfectamente, en tu propio ordenador. La barra de direcciones dice localhost:3000, o quizá una cadena de números como 203.0.113.10. Le envías el enlace a un amigo y no se abre.

Eso no es un error. Es la distancia entre ejecutar un sitio web y publicarlo, y la pieza que falta casi siempre es un nombre de dominio. Esta guía explica la diferencia entre las direcciones que quizá uses hoy, por qué la mayoría no pueden ser la dirección real de tu sitio y cómo pasar a un dominio propio en cualquier tipo de hosting.

Los cuatro tipos de dirección

Se puede llegar a un sitio web de cuatro maneras distintas. Se parecen, pero funcionan de forma muy diferente.

Tipo de direcciónEjemploQuién puede abrirla
localhosthttp://localhost:3000Solo el ordenador donde se ejecuta
IP de red localhttp://192.168.1.20Los dispositivos de la misma red Wi-Fi o router
IP de servidorhttp://203.0.113.10Cualquiera con conexión, pero mira lo que sigue
Nombre de dominiohttps://mysite.comCualquiera, desde cualquier lugar
Cuatro formas de llegar a un sitio web: localhost, IP de red local, IP de servidor y nombre de dominio, con quién puede abrir cada una
Un mismo sitio web puede tener cuatro direcciones distintas. Solo el nombre de dominio está pensado para los visitantes.

Los números de esta guía son ejemplos. 203.0.113.x es un rango reservado para ejemplos, así que nunca apunta a un servidor real.

Por qué localhost solo funciona para ti

localhost (también escrito 127.0.0.1) significa «esta misma máquina». Cuando lo escribes, tu ordenador habla consigo mismo. Cuando tu amigo escribe la misma dirección, su ordenador habla consigo mismo, no encuentra nada y muestra un error. La palabra significa algo distinto en cada dispositivo.

Las direcciones que empiezan por 192.168., 10. o 172.16. a 172.31. son lo mismo a mayor escala. Son direcciones privadas que se usan dentro de casas y oficinas. Quienes están en tu Wi-Fi pueden abrirlas, pero nadie en internet puede.

Ejecutar un sitio en local es la forma correcta de construirlo. El problema empieza cuando es el único lugar donde existe. Además, tu sitio solo está en línea mientras tu ordenador está encendido y la aplicación en marcha.

Por qué la IP de un servidor no es una dirección real

Cuando tu sitio funciona en un servidor real, ya sea un hosting compartido, un VPS o una máquina en la nube, puedes abrirlo con la dirección IP del servidor. Algunas personas se quedan ahí. Eso causa varios problemas:

  • El servidor puede no saber qué sitio mostrar. Una misma IP suele servir muchos sitios web, y el servidor decide cuál mostrar según el nombre de dominio de la petición. Si abres la IP a secas, puedes obtener una página por defecto, un error o el sitio de otra persona.
  • Sin HTTPS adecuado. HTTPS se configura normalmente para un nombre de dominio, y una IP a secas suele no poder obtener el certificado gratuito estándar. Sin HTTPS, los navegadores muestran «No seguro», y todo lo que escriben los visitantes, como contraseñas y datos de formularios, viaja en un formato legible.
  • Se rompe cuando te mudas. La IP pertenece al servidor. Si cambias de proveedor o de plan, el número cambia y todos los enlaces que compartiste dejan de funcionar. Con un dominio, solo lo apuntas al nuevo servidor.
  • Las personas y los filtros no confían en ella. Muchos filtros de spam y herramientas de seguridad consideran sospechosos los enlaces formados solo por números, y los visitantes no pueden recordarlos ni reconocerlos.
  • Sin correo profesional. Una dirección como hello@mysite.com necesita un dominio.
  • Copias duplicadas para los buscadores. Si tu sitio responde tanto en la IP como en el dominio, los buscadores pueden ver dos copias de cada página.

Qué es realmente un dominio

Los ordenadores se encuentran usando números IP. Un nombre de dominio es una etiqueta amigable para ese número, y un sistema llamado DNS funciona como la guía telefónica de internet: tú le das un nombre y él te devuelve el número.

Intervienen tres partes:

  • El registrador: la empresa donde registras el dominio. No compras un dominio para siempre. Lo alquilas, normalmente de año en año, y lo renuevas.
  • DNS: guarda los registros que dicen a qué servidor apunta tu dominio.
  • Tu proveedor de hosting: donde viven los archivos de tu sitio web.
Diagrama que muestra a un navegador preguntando al DNS por la IP de mysite.com, el DNS respondiendo con el número y el navegador pidiendo después la página al servidor de hosting
Lo que ocurre en el instante después de que alguien escribe tu dominio.

Pon tu sitio en tu dominio

Los pasos son la misma idea en todos los proveedores. Solo cambian los botones y los nombres de los menús.

1. Averigua dónde vive tu sitio

A qué apuntas tu dominio depende de tu tipo de hosting:

Dónde vive tu sitioQué te da tu proveedorRegistro habitual
Hosting compartidoUna dirección IP de servidorRegistro A hacia esa IP
VPS o servidor en la nubeUna dirección IP de servidorRegistro A hacia esa IP
Plataforma de sitios (como Vercel, Netlify o Render)Un nombre de host al que apuntar y, a veces, IPsCNAME o A, según indique la plataforma

Sigue siempre las instrucciones de tu proveedor para los valores exactos. Aparecen en su panel o documentación, y a menudo en el correo de bienvenida.

2. Apunta el dominio a tu proveedor

Puedes hacerlo de dos maneras. Elige una, no las dos.

  • Opción A: cambiar los servidores de nombres (nameservers). En tu registrador, sustituye los nameservers del dominio por los que te da tu proveedor. Desde entonces gestionas todos los registros en el panel de tu proveedor.
  • Opción B: mantener el DNS donde está (en el registrador o en un servicio como Cloudflare) y añadir allí los registros: un registro A que envíe el dominio a la IP de tu servidor y un registro CNAME para que www lo siga.
Ilustración de registros DNS: un registro A que apunta el dominio a la IP del servidor y un registro CNAME para www
Ilustración de los dos registros que necesitan la mayoría de los sitios. Tu pantalla de DNS puede verse distinta.

Trampa habitual: los registros solo cuentan donde está realmente alojado el DNS de tu dominio. Si cambiaste los nameservers a los de tu proveedor (Opción A), los registros que añadas en el registrador se ignoran, y viceversa.

3. Avisa a tu proveedor del dominio

Apuntar el dominio a un servidor no basta. El servidor también tiene que saber qué sitio pertenece a ese nombre. Todos los proveedores tienen un lugar para esto: una página de Dominios en el hosting compartido (la de cPanel es un ejemplo), una línea server_name en la configuración del servidor web si es tu propio servidor, o una pestaña de Dominios en los ajustes del proyecto de una plataforma. Si te saltas este paso, tu dominio llega al servidor pero muestra una página por defecto.

4. Espera a que el DNS se propague

Esto se llama propagación. Puede tardar desde unos minutos hasta un día o dos, aunque suele ser rápido. Hasta que termine, el dominio puede fallar o mostrar una página antigua a algunas personas.

5. Activa HTTPS

La mayoría de las plataformas y muchos proveedores instalan un certificado gratuito automáticamente en cuanto tu dominio apunta a ellos. En tu propio servidor puedes usar un servicio de certificados gratuitos como Let's Encrypt con la herramienta Certbot. En ambos casos, el dominio ya debe apuntar al servidor. Cuando termine, configura el sitio para redirigir todas las visitas de http a https.

6. Elige una sola versión de tu dirección

mysite.com y www.mysite.com cuentan como dos direcciones distintas. Elige una como principal y redirige la otra hacia ella. Las plataformas suelen tener un ajuste para esto. En un servidor Apache, estas reglas lo hacen (ponlas en el archivo .htaccess del sitio). La primera envía www al dominio sin www, y la segunda envía a quien llegue por la IP del servidor a tu dominio:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.mysite\.com$ [NC]
RewriteRule ^(.*)$ https://mysite.com/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^203\.0\.113\.10$
RewriteRule ^(.*)$ https://mysite.com/$1 [L,R=301]

Sustituye el dominio y la IP de ejemplo por los tuyos. En Nginx u otro servidor la idea es la misma, pero la sintaxis es distinta, así que consulta su documentación.

Corrige las direcciones escondidas en tu código

El código escrito por IA suele llevar localhost escrito dentro. En un sitio en producción, eso rompe cosas de forma confusa. El navegador de un visitante interpreta localhost como su propio ordenador, así que tu página intenta cargar datos de una máquina que no tiene nada que ver con tu sitio.

Mal:

fetch("http://localhost:3000/api/products")

Bien (funciona en cualquier sitio):

fetch("/api/products")

Busca en todo tu proyecto localhost, 127.0.0.1, 192.168 y cualquier IP que hayas usado. Después revisa estos lugares:

  • Ajustes de la URL del sitio: valores como APP_URL o BASE_URL deben usar tu dominio real, con https.
  • Servicios de inicio de sesión y de pago: el inicio de sesión con Google, las pasarelas de pago y servicios similares necesitan tu dominio real en sus paneles como dirección de redirección (callback) permitida. Los webhooks de pago no pueden llegar a localhost en absoluto, porque los servidores de la pasarela necesitan una dirección HTTPS pública.
  • Orígenes permitidos (CORS): si tu código lista direcciones permitidas, sustituye localhost por tu dominio.
  • Sitemap y etiquetas canónicas: deben mostrar el dominio, no una IP ni una dirección local.

Una excepción: la dirección de la base de datos depende de tu configuración. En muchos proveedores la base de datos se ejecuta en el mismo servidor que tu sitio, así que localhost es correcto ahí. En bases de datos en la nube o gestionadas, tu proveedor te da una dirección distinta que debes usar. Nunca dejes una base de datos abierta a todo internet.

Problemas comunes

  • «No se puede acceder a este sitio» justo después de configurarlo: puede que el DNS aún no se haya propagado o que un registro sea incorrecto. Espera y luego revisa los registros.
  • El dominio muestra la página por defecto de tu proveedor: el dominio llega a tu servidor, pero el servidor no sabe que el sitio le corresponde. Añade el dominio en los ajustes de tu proveedor.
  • Muestra un sitio antiguo o el de otra persona: un registro viejo o la caché del navegador. Prueba con una ventana privada u otra red.
  • «No seguro» o un error de certificado: el certificado aún no se ha emitido, o el dominio todavía no apunta a tu proveedor.
  • Funciona con www pero no sin él (o al revés): falta un registro. Añade el CNAME para www.
  • Usar una herramienta de túnel para una demostración: herramientas como ngrok o Cloudflare Tunnel sirven para una prueba rápida, pero no son hosting.
  • Abrir el router de tu casa a internet (redirección de puertos): evítalo. Expone tu red doméstica, y las IP de casa suelen cambiar.

Protege tu dominio

Tu dominio es la dirección más valiosa que tienes, así que protégelo:

  • Activa la renovación automática. Un dominio caducado puede ser registrado por otra persona.
  • Usa una contraseña fuerte y única y la autenticación en dos pasos en tu cuenta del registrador.
  • Activa el bloqueo del registrador, que impide transferir el dominio sin tu aprobación.
  • Mantén actualizado tu correo de contacto, porque ahí llegan los avisos de renovación y de seguridad.

La autocomprobación de 2 minutos

  • Abre http://TU-IP-DE-SERVIDOR. No debería mostrar tu sitio (o debería enviarte a tu dominio).
  • Abre http://mysite.com. Debería terminar en https://mysite.com con un candado.
  • Abre la versión con www. Debería terminar en la misma dirección final.
  • Busca en tu proyecto localhost y cualquier número de IP.
  • En una terminal, ejecuta nslookup mysite.com. La respuesta debería mostrar la IP de tu proveedor (o, en una plataforma, remitirte a sus servidores).

La lista corta

  1. Usa localhost solo para construir, nunca como tu dirección
  2. Registra un dominio y activa la renovación automática y la autenticación en dos pasos
  3. Apúntalo a tu proveedor con nameservers (Opción A) o con registros A y CNAME (Opción B), no ambos
  4. Añade el dominio en los ajustes de tu proveedor para que el servidor sepa a qué sitio pertenece
  5. Espera a que el DNS se propague y luego activa HTTPS
  6. Elige una versión (con o sin www) y redirige la otra
  7. Sustituye cada localhost e IP de tu código y actualiza los paneles de inicio de sesión y de pago
  8. Evita que el sitio responda en la IP del servidor

Un dominio es lo que convierte «funciona en mi ordenador» en «cualquiera puede visitarlo». Configúralo una vez, bien hecho, y todos los enlaces que compartas seguirán funcionando, incluso si cambias de proveedor más adelante.

Comentarios

Aún no hay comentarios. Haz una pregunta o añade lo que se nos haya escapado.