Configurando SSL con Apache bajo Lion

6

Siguiendo con mi pregunta anterior (que respondí yo mismo),

Configuración de OS X 10.7 Lion Server para servir aplicaciones Rails a través de Apache

... Ahora estoy buscando configurar SSL.

Una vez más, tengo la configuración funcionando bien en Snow Leopard, pero quiero configurar esto en un nuevo i7 Mac Mini, por lo que ejecutar Snow Leopard no es una opción.

Estoy usando el kludge de host virtual con nombre descrito en la respuesta del enlace anterior, pero no he podido hacer que SSL funcione.

La configuración de Snow Leopard en la que estoy basando mi configuración de Lion se incluye a continuación.

Los consejos para configurar el equivalente en Lion serían muy apreciados. Gracias.

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

2 respuestas

7

Generar una clave de host

Primero, cree un hogar para los nuevos archivos SSL. Yo uso / etc / apache2 / ssl. Abra una ventana de terminal, cd al nuevo directorio y ejecute el siguiente comando para crear un archivo de clave de host.

sudo ssh-keygen -f host.key

Generar un archivo de solicitud de certificado

Este comando crea un archivo de solicitud de certificado. Un archivo de solicitud de certificado contiene información sobre su organización que se utilizará en el certificado SSL.

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

Crea el certificado SSL

Cree un certificado SSL autofirmado utilizando el archivo de solicitud.

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

Configurar Apache

Cree una copia de seguridad de /etc/apache2/httpd.conf.

Agregue el contenido de /etc/apache2/extra/httpd-ssl.conf a /etc/apache2/httpd.conf.

En /etc/apache2/httpd.conf, asegúrese de que la carga de SSL esté habilitada (elimine el #)

LoadModule ssl_module libexec/apache2/mod_ssl.so

También, edite la sección SSL para usar el nuevo certificado.

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

Verifique la configuración y reinicie Apache para probar el nuevo certificado.

sudo apachectl configtest
sudo apachectl restart

Gracias a la House of Ding y Matt Langtree por proporcionar gran parte de esta solución.

    
respondido por el yanokwa 20.11.2011 - 18:55
1

El problema con lo anterior es que se requiere una contraseña o frase de paso de apache que no puede obtener. Por lo tanto apache no se ejecutará o arranque!

Lo que se necesita es crear una "sin contraseña" clave de host con este comando:

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

... y dirija la clave ssl de apache al host.nopass.key que genera.

Cuando hice esto, mi Lion Apache se ejecuta correctamente.

    
respondido por el Chase Holden 29.01.2012 - 11:26

Lea otras preguntas en las etiquetas