Apache, virtual host e ssl

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
alex.franci
Linux 2.x
Linux 2.x
Messaggi: 380
Iscritto il: mer 26 lug 2006, 10:26
Località: Bologna
Contatta:

Apache, virtual host e ssl

Messaggio da alex.franci »

Ciao a tutti!
Ho creato dei virtual host sul mio web server Apache/1.3.34:

the-root.org:80
bus.the-root.org:80
ragio579.the-root.org:80
webmail.the-root.org:80

nell'ultimo vHost ho inserito una redirezione verso un altro vHost, questo:
webmail.the-root.org:443
in modo che chiunque voglia accedere alla webmail sia forzato ad usare connessione protetta. Qui viene il problema

se io provo a collegarmi a
https://the-root.org (provateci anche voi)
mi va nella webmail. stessa cosa con
https://bus.the-root.org
https://ragio579.the-root.org
la cosa non mi soddisfa per niente. vorrei che se uno non scrive ESPRESSAMENTE https://webmail.the-root.org, non si connetta alla webmail. questo e' il mio file di conf relativo ai vHost:

Codice: Seleziona tutto

#------------------
#BASE VIRTUAL HOST
#------------------
<VirtualHost *:80>
	ServerName the-root.org
	#ServerAlias the-root.org
	ServerAdmin alex@the-root.org
	DocumentRoot /data/www

	<Directory /data/www/>
  		Options Includes MultiViews
  		AllowOverride None
  		Order allow,deny
  		Allow from all
	</Directory>

	<Directory /data/www/files/>
    		Options Includes Indexes MultiViews
    		AllowOverride None
    		Order allow,deny
    		Allow from all
	</Directory>
</VirtualHost>

#------------------
#WEBMAIL VIRTUAL HOST
#------------------
<VirtualHost *:80>
ServerAdmin alex@the-root.org
DocumentRoot /data/webmail
ServerName webmail.the-root.org
Redirect / https://webmail.the-root.org

</VirtualHost>

<VirtualHost *:443>
ServerAdmin alex@the-root.org
DocumentRoot /data/webmail
ServerName webmail.the-root.org
	#-----------
	#SSL SECTION
	#-----------
        <IfModule mod_ssl.c>
        SSLEngine on
	#???
	SSLCipherSuite HIGH:MEDIUM
	SSLProtocol all -SSLv2
	SSLCertificateFile /etc/apache/ssl.crt
	SSLCertificateKeyFile /etc/apache/ssl.key
	SSLCertificateChainFile /etc/apache/ssl.crt
	SSLCACertificateFile /etc/apache/my_ca.crt

#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSL:v2:+EXP
	#SSLOptions +FakeBasicAuth +ExportCertData
	#???
        ##SSLCertificateFile /etc/apache/ssl.crt/ca.crt
        ##SSLCertificateKeyFile   /etc/apache/ssl.key/ca.key
        ##SSLCACertificateFile /etc/apache/ssl.crt/ca-bundle.crt
        SSLVerifyClient none
	#SSLPassPhraseDialog builtin
        #SSLSessionCache dbm:/var/run/ssl_scache
        SSLSessionCacheTimeout 300
        #SSLMutex file:/var/run/ssl_mutex
        #SSLRandomSeed startup builtin
        #SSLRandomSeed connect builtin
	SSLLog /var/log/ssl.log
        SSLLogLevel info
        </IfModule>

    #ServerAlias webmail.the-root.org
    ServerAdmin alex@the-root.org
    DocumentRoot /data/webmail
    ServerName webmail.the-root.org
    #Redirect / https://webmail.the-root.org

CustomLog /var/log/apache/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>


#-------------------
#USERS VIRTUAL HOSTS
#-------------------
<VirtualHost *:80>
ServerAdmin alex@the-root.org
DocumentRoot /data/home/ragio579/www
ServerName ragio579.the-root.org
</VirtualHost>

<VirtualHost *:80>
ServerAdmin alex@the-root.org
DocumentRoot /data/home/bus/www
ServerName bus.the-root.org
</VirtualHost>

grazie mille!

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Apache, virtual host e ssl

Messaggio da conraid »

alex.franci ha scritto: nell'ultimo vHost ho inserito una redirezione verso un altro vHost, questo:
webmail.the-root.org:443
in modo che chiunque voglia accedere alla webmail sia forzato ad usare connessione protetta. Qui viene il problema
visto

Letto velocelemente
Non mi piace quel Redirect che hai messo, guarda meglio la documentazione

Avatar utente
alex.franci
Linux 2.x
Linux 2.x
Messaggi: 380
Iscritto il: mer 26 lug 2006, 10:26
Località: Bologna
Contatta:

Messaggio da alex.franci »

ma non e' questo il problema, perche' se anche la tolgo, il problema rimane

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Messaggio da conraid »

alex.franci ha scritto:ma non e' questo il problema, perche' se anche la tolgo, il problema rimane
Prova a mettere un virtual host SSL di default

Prima volevo finire ma si è bloccato tutto, slacky.eu non mi andava.

Avatar utente
alex.franci
Linux 2.x
Linux 2.x
Messaggi: 380
Iscritto il: mer 26 lug 2006, 10:26
Località: Bologna
Contatta:

Messaggio da alex.franci »

ho aggiunto

Codice: Seleziona tutto

<VirtualHost *:443>
	SSLEngine on
	SSLCipherSuite HIGH:MEDIUM
	SSLProtocol all -SSLv2
	SSLCertificateFile /etc/apache/ssl.crt
	SSLCertificateKeyFile /etc/apache/ssl.key
	SSLCertificateChainFile /etc/apache/ssl.crt
	SSLCACertificateFile /etc/apache/my_ca.crt
        SSLVerifyClient none
	ServerName the-root.org
	ServerAdmin alex@the-root.org
	DocumentRoot /data/www/ssl
</VirtualHost>
ma a seconda di dove lo metto cambia il risultato.
se lo metto PRIMA del vHost webmail.the-root.org:443, mi carica sempre /data/www/ssl (anche se mi connetto a https://webmail.the-root.org, prova anche tu, ora la configurazione e' cosi').
se lo metto DOPO mi carica sempre https://webmail.the-root.org, anche se mi connetto a https://the-root.org.

Avatar utente
airex
Linux 1.x
Linux 1.x
Messaggi: 121
Iscritto il: sab 8 lug 2006, 11:03
Slackware: -current
Desktop: xfce
Distribuzione: Slackware64
Località: Milano
Contatta:

Messaggio da airex »

essendoci un solo virtual host su https esso ti viene preso anche come "default" e quindi le richieste finiscono li.

prova a crearne un'altro "fasullo" al cui interno mettere il redirect su un messaggio che dice "indirizzo errato".

Ricorda di mettere questo virtual host prima dell'altro https

Avatar utente
alex.franci
Linux 2.x
Linux 2.x
Messaggi: 380
Iscritto il: mer 26 lug 2006, 10:26
Località: Bologna
Contatta:

Messaggio da alex.franci »

airex ha scritto:essendoci un solo virtual host su https esso ti viene preso anche come "default" e quindi le richieste finiscono li.

prova a crearne un'altro "fasullo" al cui interno mettere il redirect su un messaggio che dice "indirizzo errato".

Ricorda di mettere questo virtual host prima dell'altro https
spe'... hai letto il mio messaggio delle 16:42?

Avatar utente
conraid
Staff
Staff
Messaggi: 13631
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Messaggio da conraid »

esiste l'opzione _default_ se non ricordo male


Comunque il Redirect fallo Permanent, se non metti niente ti prendi un redirect temporaneo. Ora non te ne frega molto, ma per esempio per i motori è molto importante.
E poi perché fai il redirect di /?

non mi torna, ma forse ricordo male io

Avatar utente
alex.franci
Linux 2.x
Linux 2.x
Messaggi: 380
Iscritto il: mer 26 lug 2006, 10:26
Località: Bologna
Contatta:

Messaggio da alex.franci »

ho messo permanent.

apache si comporta in un modo che non capisco.
ho creato la direttiva:

Codice: Seleziona tutto

<VirtualHost *:443>
	ServerName the-root.org
	ServerAdmin alex@the-root.org
	DocumentRoot /data/www/ssl
	Redirect permanent / http://the-root.org
</VirtualHost>
se questa la metto PRIMA del vHost webmail, mi da errore anche se provo ad accedere a https://webmail.the-root.org.
se la metto DOPO il vHost webmail, se provo ad accedere a https://the-root.org, mi redireziona in http://the-root.org (ok!), e https://webmail.the-root.org funziona bene. ma se provo ad andare su https://bus.the-root.org mi va sulla webmail (configurazione corrente). devo fare un redirect *:443 per ogni vhost??? cos'e' che sbaglio?

Avatar utente
alex.franci
Linux 2.x
Linux 2.x
Messaggi: 380
Iscritto il: mer 26 lug 2006, 10:26
Località: Bologna
Contatta:

Messaggio da alex.franci »

ho "risolto" cosi':

Codice: Seleziona tutto

NameVirtualHost *:80
NameVirtualHost *:443

#------------------
#WEBMAIL VIRTUAL HOST
#------------------
<VirtualHost *:80>
ServerAdmin alex@the-root.org
DocumentRoot /data/webmail
ServerName webmail.the-root.org
Redirect permanent / https://webmail.the-root.org
</VirtualHost>

<VirtualHost *:443>
ServerAdmin alex@the-root.org
DocumentRoot /data/webmail
ServerName webmail.the-root.org
	#-----------
	#SSL SECTION
	#-----------
        <IfModule mod_ssl.c>
        SSLEngine on
	#???
	SSLCipherSuite HIGH:MEDIUM
	SSLProtocol all -SSLv2
	SSLCertificateFile /etc/apache/ssl.crt
	SSLCertificateKeyFile /etc/apache/ssl.key
	SSLCertificateChainFile /etc/apache/ssl.crt
	SSLCACertificateFile /etc/apache/my_ca.crt

#SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSL:v2:+EXP
	#SSLOptions +FakeBasicAuth +ExportCertData
	#???
        ##SSLCertificateFile /etc/apache/ssl.crt/ca.crt
        ##SSLCertificateKeyFile   /etc/apache/ssl.key/ca.key
        ##SSLCACertificateFile /etc/apache/ssl.crt/ca-bundle.crt
        SSLVerifyClient none
	#SSLPassPhraseDialog builtin
        #SSLSessionCache dbm:/var/run/ssl_scache
        SSLSessionCacheTimeout 300
        #SSLMutex file:/var/run/ssl_mutex
        #SSLRandomSeed startup builtin
        #SSLRandomSeed connect builtin
	SSLLog /var/log/ssl.log
        SSLLogLevel info
        </IfModule>

    #ServerAlias webmail.the-root.org
    ServerAdmin alex@the-root.org
    DocumentRoot /data/webmail
    ServerName webmail.the-root.org
    #Redirect / https://webmail.the-root.org

CustomLog /var/log/apache/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

#<VirtualHost *:443>
#	ServerName the-root.org
#	ServerAdmin alex@the-root.org
#	DocumentRoot /data/www/ssl
#	Redirect permanent / http://the-root.org
#</VirtualHost>

#-------------------
#USERS VIRTUAL HOSTS
#-------------------
<VirtualHost *:80 *:443>
ServerAdmin alex@the-root.org
DocumentRoot /data/home/ragio579/www
ServerName ragio579.the-root.org
</VirtualHost>

<VirtualHost *:80 *:443>
ServerAdmin alex@the-root.org
DocumentRoot /data/home/bus/www
ServerName bus.the-root.org
</VirtualHost>

#------------------
#BASE VIRTUAL HOST
#------------------
<VirtualHost *:80 *:443>
	ServerName the-root.org
	#ServerAlias the-root.org
	ServerAdmin alex@the-root.org
	DocumentRoot /data/www

	<Directory /data/www/>
  		Options Includes MultiViews
  		AllowOverride None
  		Order allow,deny
  		Allow from all
	</Directory>

	<Directory /data/www/files/>
    		Options Includes Indexes MultiViews
    		AllowOverride None
    		Order allow,deny
    		Allow from all
	</Directory>
</VirtualHost>
come vedete, il vHost base l'ho messo alla fine (non so perche', ma *credo* che se tu scrivi https://webmail.the-root.org e lui incontra prima https://the-root.org, usa quello. altrimenti non me lo so spiegare).
poi per ogni vhost gli ho dichiarato la porta :80 e la porta :443. in questo modo anche i singoli utenti possono usare connessione cifrata. in verita' non era quello che intendevo, ma anche una soluzione di questo tipo non mi sembra male e hai le sue ragioni, quindi ricapitolando...
VISTO CHE FUNZIONA tengo cosi' ;-)

pero' se qualcuno mi sa spiegare perche'... almeno capisco :P

Rispondi