Apache SSL Subdomain
Guten Abend!
Vor einigen Wochen habe ich mir bei StartSSL ein gratis Zertifikat erstellen lassen.
Mein Zertifikat ist auf folgende Domain (bzw. auch Subdomain) ausgestellt:
DNS-Name=ssl.mydomain.de
DNS-Name=mydomain.de
So, nun habe ich auch den Apachen so konfiguriert, dass ich auf mydomain.de über SSL eine Verbindung aufbauen kann.
So weit, so gut!
Die Einstellung funktionierte wunderbar, bis ich mir dachte, dass ich auf weitere Subdomains auch gerne über eine verschlüsselte Verbindung zugreifen möchte.
Ich wollte das so angehen, dass ich, äquivalent zu meinen VHosts, einfach eine weitere <VirtualHost> - Direktive einfüge. Das ganze sah nun so aus:
Interessant war, dass nun die Subdomain über https erreichbar war, die Hauptseite jedoch nicht mehr, lediglich ein 404 Error trat auf!
Da ich noch weitere Subdomains besitze, wäre es natürlich toll, wenn ich nur einmal konfigurieren muss und alle Subdomains über https verwenden kann.
Gibt es hierfür eine Möglichkeit mit meinen derzeitigen Mitteln? Bzw. seht ihr einen Fehler in meiner Konfiguration?
Ich danke für eure Hilfe!
Vor einigen Wochen habe ich mir bei StartSSL ein gratis Zertifikat erstellen lassen.
Mein Zertifikat ist auf folgende Domain (bzw. auch Subdomain) ausgestellt:
DNS-Name=ssl.mydomain.de
DNS-Name=mydomain.de
So, nun habe ich auch den Apachen so konfiguriert, dass ich auf mydomain.de über SSL eine Verbindung aufbauen kann.
So weit, so gut!
Die Einstellung funktionierte wunderbar, bis ich mir dachte, dass ich auf weitere Subdomains auch gerne über eine verschlüsselte Verbindung zugreifen möchte.
Ich wollte das so angehen, dass ich, äquivalent zu meinen VHosts, einfach eine weitere <VirtualHost> - Direktive einfüge. Das ganze sah nun so aus:
NameVirtualHost *:443
<VirtualHost *:443>
ServerName mydomain.de
ServerAlias mydomain.de
DocumentRoot /var/www/mydomain/
SSLEngine on
SSLCertificateFile /etc/ssl/certs/mydomain.de.crt
SSLCertificateKeyFile /etc/ssl/private/mydomain.de.key
ErrorLog "/var/log/apache2/error.log"
</VirtualHost>
<VirtualHost *:443>
ServerName sub.mydomain.de
DocumentRoot /var/www/sub/
SSLEngine on
SSLCertificateFile /etc/ssl/certs/mydomain.de.crt
SSLCertificateKeyFile /etc/ssl/private/mydomain.de.key
ErrorLog "/var/log/apache2/error.log"
</VirtualHost>
Interessant war, dass nun die Subdomain über https erreichbar war, die Hauptseite jedoch nicht mehr, lediglich ein 404 Error trat auf!
Da ich noch weitere Subdomains besitze, wäre es natürlich toll, wenn ich nur einmal konfigurieren muss und alle Subdomains über https verwenden kann.
Gibt es hierfür eine Möglichkeit mit meinen derzeitigen Mitteln? Bzw. seht ihr einen Fehler in meiner Konfiguration?
Ich danke für eure Hilfe!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 201366
Url: https://administrator.de/contentid/201366
Ausgedruckt am: 05.11.2024 um 12:11 Uhr
3 Kommentare
Neuester Kommentar
Gibt es hierfür eine Möglichkeit mit meinen derzeitigen Mitteln?
Was du benötigst ist ein Wildcardzertifikat - dieses kannst du dir natürlich auch unter Linux und mit installiertem openssl auch selbst erstellen.openssl req \
-x509 -nodes -days 3652 \
-subj "/CN=*.$DOMAIN/O=none/OU=private/C=DE/ST=$STATE/L=$CITY/emailAddress=$EMAIL" \
-newkey rsa:1024 -keyout $DOMAIN.key -out $DOMAIN.self-signed.crt
Weiterhin musst du bei deiner Server Konfig etwas tricksen, da SSLCertificateFile und SSLCertificateKeyFile nicht mehr innerhalb der VirtualHost Konfiguration stehen darf.
Listen *:443
NameVirtualHost *:443
SSLCertificateFile /etc/apache2/ssl/domain.de.crt
SSLCertificateKeyFile /etc/apache2/ssl/domain.de.key
<VirtualHost *:443>
ServerName www.domain.de
SSLEngine on
</VirtualHost>
<VirtualHost *:443>
ServerName subdomain.domain.de
SSLEngine on
</VirtualHost>
.. es gibt da reichlich links dazu im Web.
@nxclass: Die kostenlosen StartSSL-Zertifikate werden i.d.R. auf zwei Hosts ausgestellt.
Zudem ist es sehr wohl erlaubt ein SSL-Zertifikat im VHost-Kontext anzugeben:
http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcertificatefile
Da (so habe ich es verstanden) der HTTPD scheinbar den falschen VHost lädt, liegt das Problem vermutlich außerhalb des SSL-Teils.
Probier mal die Subdomain ÜBER dem anderen VHost zu definieren, habe mit dem httpd schon interessante Dinge erlebt.
Falls das nicht funktioniert, kann es helfen den "ServerName"-Teil aus dem VHost "mydomain.de" zu entfernen und ausschließlich mit ServerAlias zu arbeiten. Das zu mischen bringt auch immer gerne Probleme mit sich.
Falls du mehr als eine Subdomain damit sichern willst hat nxclass aber Recht: Dann braucht es ein Wildcard-Zertifikat oder zumindest eines mit mehreren SAN-Hosts.
Zudem ist es sehr wohl erlaubt ein SSL-Zertifikat im VHost-Kontext anzugeben:
http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslcertificatefile
Da (so habe ich es verstanden) der HTTPD scheinbar den falschen VHost lädt, liegt das Problem vermutlich außerhalb des SSL-Teils.
Probier mal die Subdomain ÜBER dem anderen VHost zu definieren, habe mit dem httpd schon interessante Dinge erlebt.
Falls das nicht funktioniert, kann es helfen den "ServerName"-Teil aus dem VHost "mydomain.de" zu entfernen und ausschließlich mit ServerAlias zu arbeiten. Das zu mischen bringt auch immer gerne Probleme mit sich.
Falls du mehr als eine Subdomain damit sichern willst hat nxclass aber Recht: Dann braucht es ein Wildcard-Zertifikat oder zumindest eines mit mehreren SAN-Hosts.