L'alternativa al virtual hosting basato su IP è quello Name-based, cioè con più domini condivisi sullo stesso IP. Apache esaminando l'header "Host:" (es: Host: www.dominio.com) inviato dal client interpreta di conseguenza la richiesta, ed eroga il servizio relativamente all'Host richiesto. Questa procedura è valida solo se il client supporta il protocollo HTTP/1.1.
A livello di configurazione la differenza fra il virtual host IP-based e name-based è SOLO la direttiva
NameVirtualHost che va aggiunta alla conf generale per identificare l'IP utilizzato dai vari virtual host, il resto è identico, compresa la sintassi della direttiva container VirtualHost
e il suo contenuto.
E' possibile avere più IP a cui sono associati più domini virtuali. Per esempio:
Prima Dichiarazione dell'IP per i Virtual Host
NameVirtualHost 192.168.208.2
Inizializzazione del primo Virtual Host
<VitualHost 192.168.208.2>
ServerName www.openskills.info
[...]
</VirtualHost>
Inizializzazione del secondo Virtual Host sullo stesso IP
<VirtualHost 192.168.208.2>
[...]
Seconda Dichiarazione dell'IP per altri Virtual Host
NameVirtualHost 192.168.208.3
Inizializzazione di nuovi VirtualHost sul secondo IP
<VirtualHost 192.168.208.3>
[...]
La direttiva NameVirtualHost "cattura" tutte le richieste per l'IP specificato e tramite il confronto fra l'header Host: e la direttiva ServerName o ServerAlias deduce quale risorsa è stata richiesta, se in nessun caso si ha un matching il server risponde con un errore.
ServerAlias La direttiva server Alias permette come nella direttiva ServerName di settare il nome a cui dovrà rispondere il virtualhost ma con la differenza che si ha la possibilità di utilizzare i wildcard characters * e ? . Per esempio:
<VirtualHost 192.168.208.2>
ServerName www.coresis.com
ServerAlias www.coresis.it
In questo caso questo Virtualhost risponderà sia per www.coresis.com che per www.coresis.it
dyndns registra l'ip che tu gli mandi tramite ddclient, dove nel suo file di configurazione avrai inserito i vari siti che precedentemente avrai registrato su dyndns (credo max 5 ma non ricordo)....
funziona per lo faccio anche io, ho 3 virtual host, ip dinamico e registrato 3 url su dyndns
virtual hosting su dynamic dns
volevo sapere..
è possibile applicare questo metodo in un server casalingo?
Per intenderci.. io ho una macchina a casa con ip dinamico.. utilizzo dyndns.org con apposito client "ddclient" da lanciare ad ogni avvio.
Se io per ogni virtual hosting volessi associare un nome tipo
virtualhosting1.dyndns.org
virtualhosting2.dyndns.org
come fa il sistema di dyndns, che si basa sull'associazione ip-host, a riconoscere ogni singolo vhost?