Wie erstelle ich einen virtuellen Host, der sowohl mit http als auch mit https funktioniert?

Wie erstelle ich einen virtuellen Host, der sowohl mit http als auch mit https funktioniert?

So habe ich einen virtuellen Host eingerichtet:

<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>

Mit dieser Konfiguration kann ich meine Site nur mit https, aber nicht mit http anzeigen. Wenn ich SSLEngine ausschalte, kann ich meine Site nicht mit https anzeigen, aber mit http funktioniert es einwandfrei.

Wie kann ich die obigen Zeilen anpassen, sodass ich meine Site sowohl über http als auch über https anzeigen kann?

Ich verwende OSX Lion, aber ich glaube nicht, dass das so wichtig ist.

Danke.

Antwort1

Sie müssen zwei virtuelle Hosts erstellen:

<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>

Der erste ist ein regulärer HTTPHost, während der zweite Ihren HTTPSDatenverkehr verwaltet.

Antwort2

Sie möchten wahrscheinlich auch die Direktive verwenden, Includedamit Sie die Konfiguration zwischen Ihren beiden virtuellen Hosts nicht duplizieren müssen -http://httpd.apache.org/docs/2.2/mod/core.html#include.

verwandte Informationen