Caratteri jolly ServerName negli host virtuali basati sul nome Apache?


16

Sulla nostra LAN ho impostato diversi TLD "falsi" nel server DNS, con l'intenzione di usarli per l'hosting virtuale basato sul nome Apache. Vorrei combinare questo con l'hosting di massa virtuale (cioè VirtualDocumentRoot) su un server LAMP Ubuntu 10.04.

Tuttavia, non riesco a selezionarlo per il vhost giusto!

Ecco un riepilogo della configurazione di 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 nome host come www.domain.com.dev , si risolve correttamente in 10.10.0.205, ma seleziona sempre il vhost superiore, anziché quello inferiore, che corrisponde più da vicino.

Avevo l'impressione che Apache avrebbe provato a far corrispondere ServerName prima di passare al vhost principale per un determinato IP. Che cosa sto facendo di sbagliato? O questo non è possibile e devo usare un altro IP per ciascun TLD?

apachectl -S uscite (tagliate):

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

Risposte:


40

Usa ServerAlias, piuttosto che ServerNameda solo:

ServerName somename.dev

ServerAlias *.dev


2
Le versioni recenti di apache non permetteranno più nemmeno i caratteri jolly in ServerName e l'errore indica invece di utilizzare ServerAlias.
Quentin Skousen,

Eccezionale. Questo è stato veloce e al punto. Def mi ha fatto risparmiare tempo. Grazie.
Art Geigel,

4

Se questo può aiutare, solo per completare un po 'la risposta di Mo:

I caratteri jolly in ServerAlias ​​funzionano anche su nomi di dominio parziali, ad esempio

ServerName somename.dev

ServerAlias *-mysite.dev

E mi ha salvato la vita di recente ^^ (un sito principale con sottodomini per ogni sub applicazione come ad esempio admin-somename.dev, bo-somename.dev, api-somename.dev...)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.