Wenn du einen Apache-Server hast und mehrere virtuelle Hosts mit einem SSL-Zertifikat über HTTPS ausgeben willst, dann kann die Konfiguration teils echt frustrierend sein. Lese hier, wie eine funktionierende conf aussehen kann!
httpd-vhosts.conf
Zu allererst solltest du „wie gewohnt“ deine VHosts in der httpd-vhosts.conf erstellen, sodass alle Server über Port 80 angesteuert werden können.
<VirtualHost *:80>
DocumentRoot "D:/www/seite2"
ServerName seite2.test.de
ServerAlias seite2.test.de
ErrorLog "D:/logs/seite2/error.log"
CustomLog "D:/logs/seite2/access.log" combined
<Directory "D:/www/seite2">
Options Indexes FollowSymlinks
Require all granted
AllowOverride All
</Directory>
</VirtualHost>
Starte deinen Apache-Server neu und überprüfe, ob du alle Seiten aufrufen kannst.
httpd-ssl.conf
Wenn alles soweit läuft, dann bearbeite deine httpd-ssl.conf wie folgt:
<VirtualHost 192.168.1.9:443>
DocumentRoot "D:/www/seite2"
ServerName seite2.test.de:443
ServerAdmin bofh@server.de
ErrorLog "D:/logs/seite2/ssl_error.log"
TransferLog "D:/logs/seite2/ssl_access.log"
SSLEngine on
SSLCertificateFile "D:/certs/seite2/certificate.cer"
SSLCertificateKeyFile "D:/certs/seite2/private_key.key"
SSLCertificateChainFile "D:/certs/seite2/linux_intermediate.pem"
<FilesMatch ".(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory "D:/Apache24/cgi-bin">
SSLOptions +StdEnvVars
</Directory>
<Directory "D:/www/seite2">
Options Indexes FollowSymlinks
Require all granted
AllowOverride All
</Directory>
BrowserMatch "MSIE [2-5]"
nokeepalive ssl-unclean-shutdown
downgrade-1.0 force-response-1.0
CustomLog "D:/logs/seite2/ssl_request.log"
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x "%r" %b"
</VirtualHost>
Du musst natürlich die Pfade entsprechend deiner Konfiguration anpassen und den „<VirtualHost>“-Eintrag entsprechend kopieren, wenn du mehrere hast!
Wichtig:
Im Tag „<VirtualHost>“ steht eine IP-Adresse! Dies muss die IP-Adresse deines Servers sein! Sternchen (*) oder „_default_“ geht hier nicht!
Teste deine Konfiguration
Wenn du deine Konfiguration abgeschlossen hast, dann prüfe mit dem Apache-Tool, ob deine Konfiguration fehlerfrei ist!
D:apachehttpd.exe -t
Der Parameter „-t“ steht für „Run syntax tests for configuration files only“, also einen Syntax-Test für deine Konfigurationsdateien.
Gleicher Parameter gilt natürlich auch für Linux-Derivate 😉