Stefano Corallo bio photo

Stefano Corallo

Semplicemente un altro blog su zendframework2 php jquery e tutto quello che mi viene in mente

Twitter Google+ Instagram Github

Redirigere tutte le richieste http su https tramite Virtual Host

Su una applicazione sviluppata con Zend Framework 1, ho avuto la necessità di redirigere tutte le richieste http ad https. Nel mio caso, avendo accesso alla configurazione del server, posso modificare il Virtual Host.

Per abilitare il protocollo http su apache potete dare un’occhiata a questo mio altro post: Abilitare Apache SSL su OSX Lion

L’applicazione sviluppata con ZendFramework 1 è ospitata su un server CentOS 6.3 con webserver apache2.

Modifico il file di configurazione del Virtual Host che si trova in /etc/httpd/conf.d/ilmiosito.conf in questo modo

#configurazione vhost porta 80
<VirtualHost ilmiosito.local:80>
        RewriteEngine on
        ReWriteCond %{SERVER_PORT} !^443$
        #tutte le richieste http le redirigo su https
        RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</VirtualHost>

#configurazione vhost porta 443 https
<VirtualHost ilmiosito.local:443>
   DocumentRoot "/var/www/ilmiosito/public"
   ServerName ilmiosito.local

   RewriteEngine on
   RewriteCond %{HTTP_HOST} ^ilmisito$ [NC]
   RewriteRule ^(.*)$ https://ilmiosito.local$1 [R=301,L]

   # This should be omitted in the production environment
   SetEnv APPLICATION_ENV production

   <Directory "/var/www/ilmiosito/public">
       Options Indexes MultiViews FollowSymLinks
       AllowOverride All
       Order allow,deny
       Allow from all
   </Directory>

  ErrorLog logs/ssl/ilmiosito-error.log
  CustomLog logs/ssl/ilmiosito-access.log combined
  SSLEngine on
  SSLCertificateFile /etc/httpd/ssl/crt/ilmiosito.crt
  SSLCertificateKeyFile /etc/httpd/ssl/key/ilmisito.key
</VirtualHost>