Ti trovi qui : Appunti » Apache, virtual host multipli e ssl
Apache, virtual host multipli e ssl
Scrivo questo post nella speranza che possa essere utile a qualcuno, visto che io ci ho perso due giorni per trovare tutte le info necessarie e fare varie prove fino a trovare la configurazione funzionante. Inoltre potrebbe anche servire a me in futuro come promemoria.
Lo scenario è il seguente: un server web (apache), due domini diversi sullo stesso ip configurati come virtual host e, infine, la necessità di averne uno su ssl e l’altro no. Inoltre tutte le chiamate http sul dominio con ssl devono essere redirette ad https e tutte quelle https sul dominio non ssl devono essere redirette ad http.
Se non è chiaro quello che ho detto sopra lo schematizzo meglio:
unQuesto è quanto. Vediamo come configurarlo. L’esempio suppone che utilizziate apache con i file di configurazione separata httpd.conf (configurazioni generali), httpd-vhosts.conf (configurazioni virtual hosts) e httpd-ssl.conf (configurazioni ssl) ma il tutorial vale anche nel caso in cui utilizziate un solo file di configurazione.
Nel file httpd-vhosts.conf inseriamo quanto segue:
NameVirtualHost *:80
<VirtualHost *:80> ServerName www.protetto.it:80 RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L] </VirtualHost>
<VirtualHost *:80> DocumentRoot /PATH/SITO/VULNERABILE.IT ServerName www.vulnerabile.it:80 RewriteEngine On RewriteCond %{HTTPS} !=off RewriteRule ^/(.*) http://%{SERVER_NAME}/$1 [R,L] </VirtualHost>
Nel file httpd-ssl.conf inseriamo quanto segue:
NameVirtualHost *:443
<VirtualHost *:443> DocumentRoot /PATH/SITO/PROTETTO.IT ServerName www.protetto.it:443 </VirtualHost>
<VirtualHost *:443> ServerName www.vulnerabile.it:443 SSLEngine off RewriteEngine On RewriteCond %{REQUEST_PORT} !^443$ RewriteRule ^/(.*) http://%{SERVER_NAME}/$1 [R=301,L] </VirtualHost>
Vediamo un po’ a cosa servono le direttive inserite.
Con il blocco nel file httpd-vhosts.conf vogliamo “intercettare” le richieste sulla porta 80 (http):
il primo rigo è necessario per dire che vogliamo configurare i virtual host del tipo name-based (con l’uso di ServerName); il primo virtual host serve per far si che tutte le chiamate http su protetto.it dovranno essere redirette su https; il secondo virtual host serve per definire il dominio vulnerabile.it e far si che tutte le chiamate su https vengano redirette su http.Il blocco nel file httpd-ssl.conf “intercetta” le richieste sulla porta 443 (ssl):
per il primo rigo vale lo stesso discorso di sopra; il primo virtual host definisce semplicemtne il dominio protetto.it; il secondo virtual host serve per far in modo che le chiamate https a vulnerabile.it vengano redirette su http.N.B.: chiaramente sono state illustrate solo le direttive necessarie ad ottenere la configurazione descritta all’inizio. Tutte le altre opzioni (settaggi openssl, certificati, chiavi, ecc.) vengono date per note e già inserite.
giovedì, luglio 10 2008
Taggato come Appunti, SSL, apache, openssl, virtual host
Scritto da raphe
La Classifica di Linux Feed
- 1) chimerarevo.com
- 2) hackgeek.it
- 3) arresojas.it
- 4) tuxmind.org
- 5) linux.billera.eu
- 6) linuxedintorni.org
- 7) moosesoom.blogspot.com
- 8) picchiopc.blogspot.com
- 9) logubuntu.it
- 10) mypaglia.altervista.org
















