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 ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
RequestHeader set X-Forwarded-Proto "https"
</VirtualHost>
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
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 mithilfe der Anforderungsdatei ein selbst signiertes SSL-Zertifikat.
sudo openssl x509 -req -days 365 -in request.csr -signkey host.key -out server.crt
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.
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.
Benutzer10355
Schnipp
Verfolge Holden
Schnipp
Verfolge Holden
flackend