Apache #

Den Apache hier vorzustellen, hiesse Eulen nach Athen tragen.Hier aber einige wichtige Punkte. Die Einrichtung von VirtualHosts hat eine eigene Seite bekommen.

SSL #

Wer verschlüsselte Verbindungen per SSL haben möchte muss das Passende Modul im Apache aktiviert haben. Zuvor ist aber einiges an Vorarbeit zu leisten.

Erzeugung eines Zertifikats #

Als erstes muss man eine Schlüsseldatei erzeugen:

  openssl genssl >key.pem

Dann kann man mit deren Hilfe ein selbst-signiertes Zertifikat erstellen:

  openssl req -new -x509 -key key.pem -out mein.server.loc.pem -days 1095

(1095 Tage sind drei Jahre, das ist die Gültigkeit des Zertifikats) Der Witz dabei ist, daß man als Namen (YOUR Name) den Domainnamen des Webservers angibt, auf den man nachher zugreifen will. Es empfiehlt sich, dafür zu sorgen, daß wirklich nur ein Name benutzt wird. (Also z.B. nicht mit und ohne Domain).

Dieses Zertifikat kann man dann nach /usr/lib/ssl/certs/ kopieren, wo openssl es dann problemlos findet.

Die Konfiguration liegt in älteren Apache-Installationen in /etc/apache-ssl/httpd.conf. Dort sucht man den Befehl SSLCertificateFile und gibt den Dateinamen des Zertifikates an.

In neueren Apache-Versionen (ich habe dies mit einem 2.2 getestet) ist die Konfiguration in mehrere Dateien aufgeteilt. Man muss in getrennten Dateien das ssl-Modul laden, den Port 443 aktivieren und dann zwei virtuelle Hosts erzeugen, von denen einer Port 80 und einer Port 443 und SSL benutzt. Das wird kurz und knapp in http://venthur.de/Linux/ApacheSSLHOWTO erklärt.

vgl. auch OpenSSL

SSL und virtuelle Domains #

Beides zusammen ist leider gar nicht einfach. Im Gegenteil - aus protokolltechnischen Gründen ist es sogar eigentlich unmöglich. Die Auswahl unterschiedlicher SSL-Zertifikate funktioniert nur anhand unterschiedlicher IP-Adressen oder Ports, nicht anhand des Namens (siehe http://www.modssl.org/docs/2.8/ssl_faq.html#ToC47). Als Notlösung kann man jedoch mit der Listen-Direktive den Server auf unterschiedlichen Ports lauschen lassen und diese dann in der VirtualHost-Direktive angeben. Innerhalb des VirtualHost-Blocks kommt dann der SSLCertificateFile-Befehl.

Es geht aber doch: In einem Zertifikat können mehrere Common Names oder Aliases hinterlegt sein!
vgl. auch OpenSSL


Links
  • Ein gutes HOWTO zum Apache 2.x

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-11) was last changed on 23-Feb-2009 23:01 by JensKapitza