Come puntare 2 domini diversi a 1 indirizzo IP (Apache)?


11

Ho due nomi di dominio diversi, che voglio ospitare sullo stesso hosting privato che ho. Voglio che puntino allo stesso indirizzo IP e abbiano comunque contenuti diversi (ovviamente). Come posso fare ciò? Ci sono diversi modi per farlo? In tal caso qual è il modo migliore. Grazie.

Risposte:



14

Apache2 supporta la pubblicazione di contenuti diversi a seconda dei nomi di dominio, anche se tutti questi domini si risolvono nello stesso indirizzo IP. Ciascuno dei nomi di dominio è gestito da un host virtuale , quindi l' host virtuale basato sul nome .

Ecco una configurazione di esempio per due domini:

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName www.yourfirstdomain.tld
  DocumentRoot /www/yourfirstdomain.tld/
</VirtualHost>

<VirtualHost *:80>
  ServerName www.yourseconddomain.tld
  DocumentRoot /www/yourseconddomain.tld/
</VirtualHost>

Qui troverai la documentazione ufficiale sul supporto host virtuale basato sul nome .

Tuttavia, tieni presente che funzionerà solo con semplici connessioni HTTP, non con HTTPS (HTTP su SSL): gli host virtuali basati sul nome si basano sul sapere quale nome viene richiesto, ma queste informazioni non possono essere conosciute da Apache fino al SSL crittografato connessione stabilita.

Se è necessario che anche la configurazione funzioni con HTTPS, è necessario fare affidamento su un'estensione del protocollo SSL denominata Server Name Indication (SNI) ( RFC4366 ). Fondamentalmente, i client abilitati SNI (ad es. Browser Web) aggiungono informazioni di testo extra chiare quando stabiliscono la connessione SSL crittografata, consentendo al server di conoscere il nome richiesto prima che la connessione SSL sia pronta.

Tutti i browser non supportano ancora SNI. Al momento della stesura e secondo Wikipedia, questi fanno:

  • Internet Explorer 7 o versioni successive, su Windows Vista o versioni successive (non funziona su XP, anche IE 8)
  • Mozilla Firefox 2.0 o successivo
  • Opera 8.0 o successive (il protocollo TLS 1.1 deve essere abilitato)
  • Opera Mobile almeno la versione 10.1 beta su Android
  • Google Chrome (Vista o versione successiva, XP su Chrome 6 o versione successiva, OS X 10.5.7 o versione successiva su Chrome 5.0.342.1 o versione successiva)
  • Safari 2.1 o successivo (Mac OS X 10.5.6 o successivo e Windows Vista o successivo)
  • Konqueror / KDE 4.7 o successivo
  • MobileSafari in Apple iOS 4.0 o versioni successive
  • Browser predefinito Android su Honeycomb (v3.x) o più recente
  • Windows Phone 7
  • MicroB su Maemo

L'hosting di più host virtuali basati sul nome accessibili tramite HTTPS richiede di abilitare mod_ssl e aggiungere una configurazione simile come nell'esempio sopra:

Listen 443      
NameVirtualHost *:443

# Accept connections for these vhosts from non-SNI clients
# Clients without SNI will be handled by the first defined vhost.
# If you only want SNI-enabled client, put on instead
SSLStrictSNIVHostCheck off

<VirtualHost *:443>
  ServerName www.yourfirstdomain.tld
  DocumentRoot /www/yourfirstdomain.tld/    
</VirtualHost>

<VirtualHost *:443>
  ServerName www.yourseconddomain.tld
  DocumentRoot /www/yourseconddomain.tld/
</VirtualHost>

Ricorda che l'utilizzo di SSL richiede l'acquisto di certificati SSL per i tuoi domini o la generazione di alcuni autofirmati e la configurazione di Apache per utilizzarli per le connessioni SSL.


puoi dire il nome e il percorso del file di configurazione di apache2?
João Pimentel Ferreira,

non dimenticare di riavviare apache dopo le modifichesudo service apache2 restart
João Pimentel Ferreira,
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.