SSL-verschlüsselte Verbindungen ermöglichen unter Apache2 (Ubuntu 14.04)

Eine solche SSL-Verschlüsselung kann auch für den eigenen Apache Server eingerichtet werden. Benötigt wird dafür das Apache Modul „ssl”:

a2enmod ssl
service apache2 restart

Da die verschlüsselte Kommunikation zwischen Browser und Webserver nicht über Port 80, sondern über Port 443 abläuft, muss für jeden Port-80 -VirtualHost eine Entsprechung mit Port 443 angelegt werden, wenn SSL für eine (Sub-/)Domain verwendet werden soll:

    ServerName beispiel.de
    DocumentRoot /var/www/beispiel.de/
    
    SSLEngine on
    SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
    SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
#   SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt

Der untere Teil der Konfiguration legt die SSL-Einstellungen fest. Die SSL-Engine wird aktiviert und die Pfade zu den Zertifikaten festgelegt. Benötigt werden mindestens ein Public Key (CertificateFile) und ein Private Key (CertificateKeyFile). Die Zeile der dritten Pfadangabe ist auskommentiert. Sie wird häufig benötigt, wenn Zertifikate von anerkannten Zertifikatsanbietern wie z.B. SSL-Trust verwendet werden sollen. Aktuell werden aber keine offiziell anerkannten Zertifikate genutzt, sondern Testzertifikate, die vom Server selbst ausgestellt wurden. Die letzte Zeile wird daher nicht benötigt. Diese sind übrigens nicht vertrauenswürdig, weshalb die Browser später warnen werden, wenn eine verschlüsselte Verbindung hergestellt wird. Für Testzwecke reicht ein selbst erzeugtes Zertifikat aber zunächst aus.

Nach den Änderungen an der Konfiguration muss Apache2 neu gestartet werden:

service apache2 restart

Der VirtualHost sollte nun auch über https erreichbar sein. Euch wird im Browser beim ersten Aufruf eine Warnung angezeigt, die ihr aber ignorieren könnt. Für den Einsatz von SSL in der Öffentlichkeit sollten Zertifikate von anerkannten SSL-Certificate Authorities verwendet werden, damit Besucher eurer Seite nicht durch Warnungen abgeschreckt werden. Diese sind aber normalerweise nicht besonders günstig.