¿Cómo apuntar un dominio externo a un subdominio?

¿Cómo apuntar un dominio externo a un subdominio?

Tengo el dominio example.comy configuré el servidor Ubuntu Apache de manera que apunte cualquier subdominio a un directorio con el mismo nombre.

<VirtualHost *:80>
    ServerAlias *.example.com
    VirtualDocumentRoot /var/www/html/%1
</VirtualHost>

Así subdomain.example.comlo señalaré example.com/subdomain.

Estoy tratando de permitir que los usuarios apunten su propio dominio personalizado a un subdominio de su elección, ¿cómo podría lograrlo y qué registros serían necesarios y qué se tendría que hacer con elAnfitrión virtual?

He probado el siguiente registro:

  • sampledomain.example(CNOMBREregistro) - @-->sample.example.com
  • sampledomain.example (Aregistro) - @--> ( IPDirección de ejemplo.com)

También intenté usar wwwCNAME junto con eliminar el archivo A record.

sample.example.comapunta exitosamente a example.com/sample. Sin embargo, sampledomain.exampleactúa como el sitio raíz por alguna razón.

Entonces, si lo visito sampledomain.example/sample, obtendré el contenido de example.com/sampleen lugar de señalarlo sample.example.com.

¿Cómo podría solucionar esto? ¿Qué registros se necesitarían y qué se podría hacer con el host virtual?

Utilicé un registro CNAME para poder recuperar el nombre de dominio personalizado a través de PHP cuando el usuario lo visite. ¿Se requiere el CNAME?

Respuesta1

Si está de acuerdo con hacer esto manualmente a pedido de su cliente, esto es fácil. Todo lo que tienes que hacer es agregar ServerAlias sampledomain.coma la configuración de vhost y recargar la configuración del servidor web.

Sin embargo, si desea que sus clientes hagan esto ellos mismos en algún tipo de interfaz de control de clientes, esto no es fácil de lograr debido a la forma en que funcionan los hosts virtuales en un servidor web. He aquí por qué:

Si tiene algún registro DNS (independientemente de si Ao CNAME) asignado sampledomain.coma su servidor web, el navegador enviará una solicitud a la dirección IP de su servidor con el Hostencabezado HTTP configurado en sampledomain.com. El servidor web utilizará este encabezado para decidir qué host virtual se supone que debe manejar esto y, si sampledomain.comno es un nombre de vhost ni un alias, la solicitud será respondida por el vhost predeterminado como lo ha experimentado.

Para que esto sea posible, necesita una forma para que sus clientes configuren alias para su vhost. Con Apache esto no es fácil pero en teoría puedes leerlo desde una base de datos, como se explicaaquí(Nunca he probado esto, así que no tengo idea si funciona).

Además, cosas comoMin virtualpodría ser útil en tal caso.

información relacionada