ubuntu – ¿Comodines ServerName en hosts virtuales basados ​​en nombres Apache?

Pregunta:

En nuestra LAN, configuré varios TLD 'falsos' en el servidor DNS, con la intención de usarlos para el alojamiento virtual basado en nombres de Apache. Me gustaría combinar esto con el alojamiento virtual masivo (es decir, VirtualDocumentRoot) en un servidor LAMP de Ubuntu 10.04.

Sin embargo, ¡no puedo hacer que seleccione el vhost correcto!

Aquí hay un resumen de la configuración de Apache:

NameVirtualHost 10.10.0.205

<VirtualHost 10.10.0.205>
   ServerName *.test
   VirtualDocumentRoot /var/www/%-3.0.%-2/test/%1/
   CustomLog /var/log/apache2/access.log vhost_combined
</VirtualHost>

<VirtualHost 10.10.0.205>
   ServerName *.dev
   VirtualDocumentRoot /var/www/%-3.0.%-2/dev/%1/
   CustomLog /var/log/apache2/access.log vhost_combined
</VirtualHost>

Un nombre de host como www.domain.com.dev , se resuelve correctamente como 10.10.0.205, pero siempre selecciona el vhost superior, en lugar del inferior, que coincide más estrechamente.

Tenía la impresión de que Apache primero intentaría hacer coincidir el nombre del servidor antes de establecer de forma predeterminada el vhost superior para una IP determinada. ¿Qué estoy haciendo mal? ¿O esto no es posible y debo usar otra IP para cada TLD?

apachectl -S salidas (recortado):

10.10.0.205:*          is a NameVirtualHost
    default server *.test
    port * namevhost *.test
    port * namevhost *.dev

Respuesta:

Utilice ServerAlias , en lugar de ServerName solo:

ServerName somename.dev

ServerAlias *.dev

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım