Newsgroup: it.comp.os.linux.sys
Titolo: Apache+vhost+ssl

Buongiorno a tutti,
mi serve un aiuto per chiarirmi le idee su apache.
Ho un server web che deve servire 3 siti web, ognuno sia http che https.
i tre siti hanno questi indirizzi:
1. 
www.miosito.it
2. 
sitointerno.miosito.it
3. 
www.altrosito.it
Attualmente sto servendo solo i primi due ma a breve aggiungerò il terzo.
Il problema che mi si pone è di come configurare il tutto per gestire 
correttamente l'https.
Per il primi 2 ho un certificato wildcard *.
miosito.it
, e una 
configurazione con Vhost NamedBased (1 solo indirizzo IP). Tutto funziona 
correttamente, e non capisco perché dato che non è possibile utilizzare 
diversi vhost named based con https.
Cosa dovrò fare quando dovrò aggiungere il terzo sito (sia http che 
https)?
Di seguito le configurazioni, il server è Debian:
ports.conf:
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
    NameVirtualHost *:443
    Listen 443
</IfModule>
vhost 
www.miosito.it:80
:
<VirtualHost *:80>
  ServerAdmin 
ad...@miosito.it
  ServerName 
www.miosito.it
  DocumentRoot /var/www/
www.miosito.it
[più altra roba che non serve]
</VirtualHost>
vhost 
www.miosito.it:443
:
<VirtualHost *:443>
  ServerAdmin 
ad...@miosito.it
  ServerName 
www.miosito.it
  DocumentRoot /var/www/
www.miosito.it
  SSLEngine on
  SSLCertificateFile    /path/to/cert/miosito.it.crt
  SSLCertificateKeyFile /path/to/cert/miosito.it.key
  SSLCACertificatePath /path/to/cert/miosito
  SSLSessionCacheTimeout 300
  SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown 
downgrade-1.0 force-response-1.0
[più altra roba che non serve]
</VirtualHost>
Identici gli altri 2 vhost per 
sitointerno.miosito.it
, con ServerName e 
DocumentRoot adeguati.


[...]
</virtualHost>
Grazie mille

 richiesta senza doverla decrittare.
Ok, chiaro! Mi si pone un nuovo problema, però:
per passare ad una ip-based, con 3 virtual host, dovrò utilizzare 3 
indirizzi IP differenti? o posso usare 2 vhost con lo stesso ip (quelli 
con lo stesso certificato wildcard) e il nuovo vhost con ip differente?


al riavvio di apache, ottengo questo errore, che non capisco:
Restarting web server: apache2[Wed Dec 16 11:40:19 2009] [warn] 
VirtualHost 
111.111.111.111:443
 overlaps with VirtualHost 
111.111.111.111:443
, the first has precedence, perhaps you need a 
NameVirtualHost directive


Grazie ancora.

DzU wrote:

Ci sono almeno tre (anzi, quattro) modi di usare vhost con ssl sullo stesso 
IP:
1) certificato wildcard. Ma questo ti limita ad avere tutti i siti sotto lo 
stesso dominio.
2) CN multipli. Metti nel subject CN=
sito1.com/CN=sito2.com/CN=sito3.com
. 
Deprecato, e non tutte le CA te lo fanno.
3) certificato con subject Alternative Name: aggiungi l'estensione X.509v3 
subjectAltName con una lista di nomi aggiuntivi che vuoi gestire, del tipo 
DNS:
sito2.com
,DNS:
sito3.com
. Quari tutte le CA lo fanno, ma costa di piu' 
(generalmente costa un tot per SAN).
4) SNI (Server Name Indication): per questo devi avere un mod_ssl abbastanza 
recente (non ricordo esattamente da quale versione in avanti), e non tutti i 
browser la supportano (anche se credo che ormai si siano dati una mossa e 
sia abbastanza supportata). Quest'ultima e' di gran lunga la migliore 
perche' puoi effettivamente avere un certificato per ogni sito.
Google is your friend, mettendo qualche keyword di cui sopra trovi 
tonnellate di documentazione.

 tonnellate di documentazione.
https://issues.apache.org/bugzilla/show_bug.cgi?id=34607
  tra i commenti 
....

Giandomenico De Tullio wrote:

Ah, ecco, e' dalla 2.2.12 (non e' in quella pagina, ma il bug e' chiuso e 
l'aggiunta di SNI e' nel changelog della 2.2.12).
 *) mod_ssl: Add server name indication support (RFC 4366) and better
     support for name based virtual hosts with SSL. PR 34607