Virtual hosting

Da Wikipedia, l'enciclopedia libera.

L'Hosting virtuale è un metodo usato sui server web per ospitare il sito web per più di un nome di dominio sullo stesso server, talvolta sullo stesso indirizzo IP.

Vi sono diverse tecniche di virtual hosting, con diverse limitazioni.

limitazioni[modifica | modifica sorgente]

Vi sono due fattori che influenzano le configurazioni di virtual hosting possibili:

  • La versione di HTTP utilizzata (1.0 o 1.1).
  • L'utilizzo di HTTPS o solo di HTTP.

IP-based virtual hosting[modifica | modifica sorgente]

Si assegnano più indirizzi IP ad un server. Questo può essere fatto associando diversi indirizzi IP ad una stessa interfaccia. A ciascun indirizzo IP è associato un nome DNS. Il server web valuta l'indirizzo IP destinazione su cui è stata ricevuta la connessione TCP (ovvero uno dei propri indirizzi), e di conseguenza sceglie quale contenuto servire.

Questa tecnica è compatibile con HTTP/1.0 e con HTTPS.

Lo svantaggio è che per ciascun sito è richiesto un indirizzo IP dedicato, e questo può essere costoso.

port-based virtual hosting[modifica | modifica sorgente]

Questa tecnica è una variante della precedente, dove il server ascolta sullo stesso indirizzo IP ma su diverse porte TCP, e a ciascuna porta TCP è associato un sito (ed eventualmente il relativo certificato).

In questo modo si evita la necessità di un indirizzo IP per sito, ma si usano porte non standard, che possono essere bloccate da firewall o proxy, e si devono usare URL contenenti il numero di porta, come "http://www.miosito.com:8011", più difficili da ricordare.

name-based virtual hosting[modifica | modifica sorgente]

Questa tecnica richiede l'uso di HTTP/1.1, che prevede l'invio di un URL contenente il nome del sito richiesto nella richiesta HTTP.

Il server è configurato con un solo indirizzo IP, a cui sono associati i nomi DNS di tutti i siti ospitati. Quando il server riceve una richiesta HTTP, legge l'hostname richiesto e decide di conseguenza quale dominio servire.

Questo permette di utilizzare un solo indirizzo IP per molti siti utilizzando porte TCP standard e URL senza la specifica della porta.

Questa tecnica è comunemente usata da providers di spazio web per siti internet.

name-based virtual hosting con HTTPS[modifica | modifica sorgente]

Un server HTTPS, quando riceve una connessione TCP, deve stabilire la sessione SSL, e per fare questo deve presentare il proprio certificato per provare al client la sua identità.

Se però si usa il name-based virtual hosting, ciascun sito ospitato avrà un proprio certificato, e il server che riceve una connessione TCP non sa ancora quale sito gli viene richiesto, e quindi quale certificato deve presentare. Il browser, non ricevendo il certificato corrispondente al sito che ha richiesto, mostrerebbe un errore. Per questo motivo, il name-based virtual hosting viene normalmente evitato se si deve offrire il servizio HTTPS.

Questa tecnica può essere usata solo in casi particolari, ovvero quando è possibile presentare un certificato che sia accettabile per tutti i siti HTTPS ospitati, mediante l'uso di certificati con DN wildcard (*.miodominio.com) e/o di nomi alternativi nel certificato.

Collegamenti esterni[modifica | modifica sorgente]

Web Portale Web: accedi alle voci di Wikipedia che trattano di Web