Kategorien
Server

Apache 2.4 und mehrere SSL-VHosts

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:\apache\httpd.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 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.