Configurazione SSL con Apache in Lion

6

Seguendo la mia domanda precedente (che ho risposto io stesso),

Configurazione di OS X 10.7 Lion Server per servire le app di Rails tramite Apache

... Ora sto cercando di configurare SSL.

Anche in questo caso, ho la configurazione che funziona bene con Snow Leopard, ma voglio configurarlo su un nuovo i7 Mac Mini, quindi eseguire Snow Leopard non è un'opzione.

Sto utilizzando il kludge dell'host virtuale nominato descritto nella precedente risposta al link, ma non sono riuscito a far funzionare SSL.

La configurazione di Snow Leopard che sto basando sulla configurazione di Lion è inclusa di seguito.

I suggerimenti sulla configurazione dell'equivalente con Lion sarebbero molto apprezzati. Grazie.

<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>
    
posta Snips 20.09.2011 - 00:46
fonte

2 risposte

7

Genera una chiave host

Per prima cosa, crea una casa per i nuovi file SSL. Io uso / etc / apache2 / ssl. Apri una finestra di terminale, effettua il cd nella nuova directory e invia il seguente comando per creare un file di chiave host.

sudo ssh-keygen -f host.key

Genera un file di richiesta del certificato

Questo comando crea un file di richiesta del certificato. Un file di richiesta del certificato contiene informazioni sulla tua organizzazione che verranno utilizzate nel certificato SSL.

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

Crea il certificato SSL

Crea un certificato SSL autofirmato utilizzando il file di richiesta.

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

Configura Apache

Crea un backup di /etc/apache2/httpd.conf.

Aggiungi il contenuto di /etc/apache2/extra/httpd-ssl.conf a /etc/apache2/httpd.conf.

In /etc/apache2/httpd.conf, assicurati che il caricamento di SSL sia abilitato (rimuovi il #)

LoadModule ssl_module libexec/apache2/mod_ssl.so

Inoltre, modifica la sezione SSL per utilizzare il nuovo certificato.

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

Controlla la configurazione e riavvia Apache per provare il nuovo certificato.

sudo apachectl configtest
sudo apachectl restart

Grazie a House of Ding e Matt Langtree per aver fornito gran parte di questa soluzione.

    
risposta data 20.11.2011 - 18:55
fonte
1

Il problema di cui sopra è che una password o una passphrase è richiesta da Apache che non può ottenere. Quindi apache non verrà eseguito o avviato!

È necessario creare una "nessuna password" chiave host con questo comando:

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

... e dirige la chiave ssl di apache al host.nopass.key che genera.

Quando ho fatto questo, il mio Lion Apache funziona correttamente.

    
risposta data 29.01.2012 - 11:26
fonte

Leggi altre domande sui tag