Partiamo col presupposto che non mi ero mai imbattuto nel dover mettere in ssl, dei portali web.
In questo caso l'ambiente è formato come segue:
Server Ubuntu 10.04, LST.
Apache2 come server web a gestire i contenuti statici,
Tomcat6 gestisce il flusso dinamico, e i due server web sono collegati tramite mod_jk.
Ho creato su tomcat6 la chiave di java, configurato il server.xml e via dicendo. Funziona tutto (ho abilitato anche il connettore chiaramente (yes) ) se vado su https://mioip:8443/.
Ora arriva il problema, chiaramente devo far gestire le chiamate del sito ad apache (visto che sulla 80 c'è lui.)
Ho fatto vari tentativi, tra cui usare mod_jk per montare la parte della webapp che volevo in ssl sulla porta dell'ajp3
Esempio del file virtualhost:
Codice: Seleziona tutto
<VirtualHost *:80>
ServerName prova.test
DocumentRoot /var/www/prova.test
ErrorLog /var/log/apache2/prova.test_error.log
LogLevel warn
CustomLog /var/log/apache2/prova.test.log combined
Use SetEnvIf to st no-jk when /home/ is encountered
SetEnvIf Request_URI "/prova-test/resources/cms/*" no-jk
SetEnvIf Request_URI "/prova-test/resources/plugins/*" no-jk
Alias /prova-test/resources/cms /var/lib/tomcat6/webapps/prova-test/resources/cms
Alias /prova-test/resources/plugins /var/lib/tomcat6/webapps/prova-test/resources/plugins
<Directory "/var/lib/tomcat6/webapps/prova-test/resources/cms">
Options -Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "/var/lib/tomcat6/webapps/prova-test/resources/plugins">
Options -Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
JkMount /prova-test/* worker_ssl
JkMount /prova-test/resources/* worker_portal
JkMount /pentaho/* pentaho_portal
JkMount /pentaho-style/* pentaho_style
RedirectMatch ^/$ /prova-test/
</VirtualHost>
Codice: Seleziona tutto
<Connector port="8443" protocol="HTTP/1.1"
keystorePass="soci"
SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
Ok se io vado su http://prova.test:8443/prova-test/ funziona tutto, se vado su https://prova.test/ mi dice:
Codice: Seleziona tutto
Si è verificato un errore durante la connessione a prova.test
SSL ha ricevuto un pacchetto che eccede la dimensione massima consentita.
(Codice di errore: ssl_error_rx_record_too_long)
Mi sapete dire dove sbaglio e cosa modificare?
Inoltre, sapete mica dirmi che RedirectMatch usare per fare in modo che oltre che quando vanno su prova.test vengano portati su prova.test/prova-test/ ma che in realtà vengano portati su https://prova.test/prova-test ?
Ciao A.
Edit: Auto risolto mi rimane solo una piccola regola da modificare nel RedirectMatch ed ho finito.
Alla fine, dovevo attivare l'ssl solo lato apache =)