SNI SSL – wie Sie auf ein und demselben Server SSL-Zertifikate für mehrere Domaisn verwalten

(Last Updated On: 11. Juni 2015)

Wenn Sie mehrere Domains, wie beispielsweise <IhrName1>.eu und <IhrName2>.com auf ein und demselben Server betreiben, bekommen Sie auf IHrem Webserver Probleme mit der SSL-Unterstützung. Denn eigentlich war das ganze mal so gedacht, dass Sie pro öffentlicher IP-Adresse ein SSL-Zertifikat generieren.

Früher hat man sich so geholfen, dass man sich für den Server mehrere öffentliche IP-Adressen geholt hat. Das ist natürlich nur für größere Unternehmen und Hoster interessant, da das für eine Privatperson unnötig teuer werden würde.

Die günstige Lösun gkommt mit einer Transport Layer Security (TLS)-Lösung namens SNI. Damit ist es möglich mehrere Domains mit einer einzigen IP-Adresse abzusichern. Leider unterstützen derzeitn noch nicht alle Browser SNI. Die wichtigsten Desktop- und Mobil-Browser jedoch haben mittlerweile SNI-Support eingebaut.

Als erstes müssen Sie den grundlegenden SSL-Support für den Webservers Ihrer Wahl anschalten. Das habe cih in diesem Post erklärt. Jedoch haben wir in diesem Post SSL-Support für alle Domains mit einem einzigen Zertifikat konfiguriert. Sie haben in diesem Post eine VirtualHost-konfiguration _default_:443 in der Datei /etc/apache2/sites-available/default-ssl.conf konfiguriert. Diese Konfiguration können Sie lassen, müssen jedoch jetzt zusätzlich für jede Domain, die Sie letztendlich verwalten wollen, eine explizite VirtualHost-Konfiguration anlegen. Dazu legen Sie am besten unter /etc/apache2/sites-available/ jeweils eine Konfigurationsdatei mit dem Namen der domain an, also beispielsweise die Datei www.<IhrName>.eu. Dort tragen Sie dann eine VirtualHost-Direktive im folgenden Format ein:

<VirtualHost _default_:443>
 DocumentRoot /var/www/html2
 ServerName www.<IhrName>.com
 SSLEngine on
 SSLCertificateFile /path/to/your_domain_name.crt
 SSLCertificateKeyFile /path/to/your_private.key
 SSLCertificateChainFile /path/to/DigiCertCA.crt
 </VirtualHost>

Eine besonderheit haben Sie, wenn Sie ein Wildcard oder UC Zertifikat haben, welches Ihnen ermöglicht ein Zertifikat für mehrere Subdomains zu verwenden. Wenn Sie beispeilsweise ein Zertifikat für ihre Domain *.<IhrName>.com haben, können Sie das zeritfikat sowohl für forum.<IhrName>.com als auch für www.<IhrName>.com verwenden. Dann müssen Sie die VirtualHostss anders konfigurieren:

<VirtualHost <öffentliche IP-Adresse>:443>
 DocumentRoot /var/www/html2
 ServerName www.<IhrName>.com
 SSLEngine on SSLCertificateFile /path/to/your_domain_name.crt SSLCertificateKeyFile /path/to/your_private.key SSLCertificateChainFile /path/to/DigiCertCA.crt
 </VirtualHost>

Wie Sie sehen, geht diese Art von Konfiguration nur noch, wenn Sie eine gleichbleibende öffentliche IP-adresse auf Ihrem Server haben (und sich diese nicht beispielsweise alle 24 Stunden ändert). Denn der virtualHost müsste sonst bei jedem Wechsel der IP-Adresse abgeändert werden.

Das wiederholen Sie wie gesagt für jede einzelne Domain, die auf dem Webserver laufen soll. Wenn Sie SSL-Verbindungen für eine bestimmte domain nicht erzwingen wollen, dann müssen Sie für die HTTP-Verbindungen zu dieser Domain ebenfalls eine extra .,conf-Datei erstellen und dort die SSL-einstellungen weglassen und den ViurtalHost *:80 verwenden. Sie sollten dann Ihren .conf-Dateien unterhalb von sites-available Namen wie http-<IhrName>.com und https-<IhrName>.com geben, um sie auseinander halten zu können.

Wenn Sie alle .conf-Dateien angelegt haben, testen wir die Konfiguration und starten den Apache neu

apachectl configtest
service apache2 restart

 

 

 

Wenn dir dieser Post gefallen hat, teile ihn doch auf Social Media, abonniere und verfolge mich per E-Mail, RSS-Feed, Social Media oder registriere dich auf meiner Seite. Wenn du registriert bist, like den Post bitte, wenn er dir gefallen hat!

Das könnte Dich auch interessieren...

3 Antworten

  1. 11. Juni 2015

    […] dann führen Sie erst die schritte aus diesem Post aus und schauen Sie sich danach den Post über SNI SSL […]

  2. 11. Juni 2015

    […] auf einem einzigen physikalischen Server betreiben, sollten Sie sich außerdem den Post über SNI SSL […]

  3. 20. Oktober 2017

    […] Manager (ICM) sprechen wollen. Für klassische Webserver habe ich diese Problematik schon in diesem Beitrag angesprochen und über SNI gelöst. Nun widmen wir uns der Problematik im […]

Kommentar verfassen