SSL mit Apache unter Lion konfigurieren

Anknüpfend an meine vorherige Frage (die ich selbst beantwortet habe)

Konfigurieren von OS X 10.7 Lion Server zum Bereitstellen von Rails-Apps über Apache

...Ich möchte jetzt SSL einrichten.

Auch hier funktioniert die Konfiguration unter Snow Leopard einwandfrei, aber ich möchte dies auf einem neuen i7 Mac Mini einrichten, sodass das Ausführen von Snow Leopard keine Option ist.

Ich verwende den benannten virtuellen Host-Kludge, der in der obigen Link-Antwort beschrieben ist, aber ich konnte SSL nicht zum Laufen bringen.

Die Snow Leopard-Konfiguration, auf der ich meine Lion-Konfiguration basiere, ist unten enthalten.

Tipps zur Konfiguration des Äquivalents unter Lion wären sehr willkommen. Danke.

<VirtualHost 10.0.1.1:80>
  ServerName bonk.example.com

  Redirect / https://bonk.example.com/

</VirtualHost>

<VirtualHost 10.0.1.1:443>
    ServerName bonk.example.com
    DocumentRoot "/Rails/deployed/bonk/current/public"
    RackEnv example_production
    RailsEnv example_production
    <Directory "/Rails/deployed/bonk/current/public">
      Order allow,deny
      Allow from all
      Options FollowSymLinks
    </Directory>

  SSLEngine on
  SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
  SSLOptions +FakeBasicAuth +ExportCertData +StdEnvVars +StrictRequire
  SSLCertificateFile /private/etc/apache2/server.crt
  SSLCertificateKeyFile /private/etc/apache2/server.key
  SSLCertificateChainFile /private/etc/apache2/ca.crt
  SetEnvIf User-Agent &quot;.*MSIE.*&quot; nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0

  RequestHeader set X-Forwarded-Proto "https"

</VirtualHost>
Hast du diese Anleitung von Apple ausprobiert? developer.apple.com/internet/serverside/modssl.html
Danke, aber diese Anleitung ist ziemlich veraltet. Ich habe SSL unter Snow Leopard, aber Lion ändert die Dinge ziemlich. Es gibt Problemumgehungen für benannte virtuelle Hosts, aber ich habe SSL unter Lion mit dieser Einrichtung nicht zum Laufen gebracht.
Wie machen Sie das als Ihre eigene CA (Zertifizierungsstelle)?
Der Prozess ist genau derselbe (sobald Sie Ihr eigenes Zertifikat erstellt haben).
offensichtlich ist es nicht genau dasselbe. Ich habe meine eigene Zertifizierungsstelle mit Apples Keychain Access App erstellt, aber das bedeutet nicht, dass ich sie mit dem obigen Code verwenden kann. Bitte posten Sie die richtige Syntax, wenn Sie wissen, wie.
Ich habe archive.org verwendet, um den oben erwähnten Modssl-Leitfaden von developer.apple.com zu erhalten, falls jemand interessiert ist: f.cl.ly/items/270z1h3Q2C1z0Z2R1F3U/…

Antworten (2)

Generieren Sie einen Hostschlüssel

Erstellen Sie zunächst ein Zuhause für die neuen SSL-Dateien. Ich verwende /etc/apache2/ssl. Öffnen Sie ein Terminalfenster, cd in das neue Verzeichnis und geben Sie den folgenden Befehl ein, um eine Hostschlüsseldatei zu erstellen.

sudo ssh-keygen -f host.key

Generieren Sie eine Zertifikatanforderungsdatei

Dieser Befehl erstellt eine Zertifikatanforderungsdatei. Eine Zertifikatanforderungsdatei enthält Informationen über Ihre Organisation, die im SSL-Zertifikat verwendet werden.

sudo openssl req -new -key host.key -out request.csr

Erstellen Sie das SSL-Zertifikat

Erstellen Sie mithilfe der Anforderungsdatei ein selbst signiertes SSL-Zertifikat.

sudo openssl x509 -req -days 365 -in request.csr -signkey host.key -out server.crt

Apache konfigurieren

Erstellen Sie ein Backup von /etc/apache2/httpd.conf.

Hängen Sie den Inhalt von /etc/apache2/extra/httpd-ssl.conf an /etc/apache2/httpd.conf an.

Stellen Sie in /etc/apache2/httpd.conf sicher, dass das Laden von SSL aktiviert ist (entfernen Sie das #).

LoadModule ssl_module libexec/apache2/mod_ssl.so

Bearbeiten Sie außerdem den SSL-Abschnitt, um das neue Zertifikat zu verwenden.

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/host.key

Überprüfen Sie die Konfiguration und starten Sie Apache neu, um das neue Zertifikat auszuprobieren.

sudo apachectl configtest
sudo apachectl restart

Vielen Dank an das House of Ding und Matt Langtree für die Bereitstellung eines Großteils dieser Lösung.

Vielen Dank für Ihre Antwort, aber das sieht aus wie die Standardanweisungen für Snow Leopard (und früher). Hast du das schon mal bei Lion probiert? Weil ich glaube nicht, dass es funktioniert :-/
Jawohl. lief es auf Löwe und es funktioniert. Die Freigabeeinstellungen zeigen nicht, dass der Server eingeschaltet ist, aber er ist es.

Das Problem mit oben ist, dass ein Passwort oder eine Passphrase von Apache benötigt wird, die es nicht bekommen kann. Daher wird Apache nicht ausgeführt oder gestartet!

Was benötigt wird, ist, mit diesem Befehl einen Hostschlüssel ohne Passwort zu erstellen:

openssl rsa -in host.key -out host.nopass.key

... und leiten Sie den SSL-Schlüssel von Apache an den von ihm generierten host.nopass.key weiter .

Wenn ich das getan habe, läuft mein Lion Apache erfolgreich.

Die Änderung von Chase hat bei mir funktioniert! Musste "sudo": sudo openssl rsa -in host.key -out host.nopass.key