HTTPS (SSL) und Apache

Autor: Christian Ahmer, erstellt: 26.08.2010, zuletzt geändert: 16.09.2014
Kategorien: Web, Linux

Recht einfach kann man seinen Apache Webserver um ein selbstsigniertes SSL Zertifikat erweitern.
Das ist ist sehr sinnvoll, wenn man abgesicherte Verbindungen auf seinem Webhost laufen lassen möchte, dienlich z.B. für einen eigenen Webmaildienst.

Um z.B. die Adresse www.meinedomain.de via SSL verschlüsselt über Port 443 und abrufbereit unter https://www.meinedomain.de zugänglich zu machen, bedarf es folgenden Schritten (hier unter Debian):

1) Zertifikat und Schlüssel erstellen:

mkdir /etc/apache2/ssl
cd /etc/apache2/ssl
openssl genrsa -out meinedomain.de.key 1024
openssl req -new -key meinedomain.de.key -out meinedomain.de.csr
openssl x509 -req -days 365 -in meinedomain.de.csr \
-signkey meinedomain.de.key -out meinedomain.de.crt

2) Falls noch nicht geschehen, SSL aktivieren:

a2enmod ssl

3) Apache Konfiguration bearbeiten:

<VirtualHost *:443>
        ServerAdmin  ich[at]meinedomain[dot]de
        DocumentRoot /var/www/meinwebordner
        ServerName webmail.meinedomain.de
        #SSL einschalten, Keys angeben
        SSLEngine On
        SSLCipherSuite HIGH:MEDIUM
        SSLCertificateFile    /etc/apache2/ssl/meinedomain.de.crt
        SSLCertificateKeyFile /etc/apache2/ssl/meinedomain.de.key
</VirtualHost>

4) Apache Webserver neu starten

/etc/init.d/apache2 restart

5) Fertig! Nun kann man die Webseite (hier ein Webmail) im Browser via https://webmail.meinedomain.de aufrufen.

Man sieht: Selbstsignierte Zertifikate für HTTPS bzw. SSL via Apache sind gar kein so großes Kunststück.

Hinweis:
Betreibt man eine kommerzielle Website, so sollte man sich auf keinen Fall ein eigenes Zertifikat, sondern ein offizielles besorgen, sonst müssen die Besucher in ihrem Browser das Zertifikat immer erst erlauben, was keinen seriösen Eindruck macht, aber für Privatnutzer ist das eine recht brauchbare Möglichkeit, unliebsame Mitlauscher via HTTPS  / SSL auszusperren.