¿Cómo creo un host virtual que funcione tanto con http como con https?

¿Cómo creo un host virtual que funcione tanto con http como con https?

Así es como configuré un host virtual:

<VirtualHost mysite> 
  <Directory "/Users/myusername/sitefolder"> 
    Options +FollowSymlinks
    AllowOverride All 
    Order Allow,Deny
    Allow from all
  </Directory> 
  DocumentRoot "/Users/myusername/sitefolder"
  ServerName mysite
  SSLEngine on
  SSLCertificateFile /Users/myusername/certs/server.crt
  SSLCertificateKeyFile /Users/myusername/certs/server.key
</VirtualHost>

Con esta configuración, puedo ver mi sitio sólo con https, pero no con http. Cuando apago SSLEngine, no puedo ver mi sitio con https, pero http funciona bien.

¿Cómo puedo ajustar las líneas anteriores para poder ver mi sitio usando http y https?

Utilizo OSX Lion, pero no creo que importe mucho.

Gracias.

Respuesta1

Necesita crear dos hosts virtuales de la siguiente manera:

<VirtualHost mysite:80> 
  <Directory "/Users/myusername/sitefolder"> 
    Options +FollowSymlinks
    AllowOverride All 
    Order Allow,Deny
    Allow from all
  </Directory> 
  DocumentRoot "/Users/myusername/sitefolder"
  ServerName mysite
</VirtualHost>


<VirtualHost mysite:443> 
  <Directory "/Users/myusername/sitefolder"> 
    Options +FollowSymlinks
    AllowOverride All 
    Order Allow,Deny
    Allow from all
  </Directory> 
  DocumentRoot "/Users/myusername/sitefolder"
  ServerName mysite
  SSLEngine on
  SSLCertificateFile /Users/myusername/certs/server.crt
  SSLCertificateKeyFile /Users/myusername/certs/server.key
</VirtualHost>

El primero es un HTTPhost habitual, mientras que el segundo maneja su HTTPStráfico.

Respuesta2

Probablemente también quieras usar Includela directiva para no tener que duplicar la configuración entre tus dos vhosts.http://httpd.apache.org/docs/2.2/mod/core.html#include.

información relacionada