6 votes

Configurer SSL avec Apache sous Lion

Suite à ma question précédente (à laquelle j'ai répondu moi-même),

Configuration de OS X 10.7 Lion Server pour servir des applications Rails via Apache

...je cherche maintenant à configurer SSL.

J'ai réussi à configurer cela sous Snow Leopard, mais je veux le faire sur un nouveau Mac Mini i7, donc utiliser Snow Leopard n'est pas une option.

J'utilise l'astuce de l'hôte virtuel nommé décrite dans la réponse du lien ci-dessus, mais je n'ai pas réussi à faire fonctionner SSL.

La configuration Snow Leopard sur laquelle je base ma configuration Lion est incluse ci-dessous.

Des conseils pour configurer l'équivalent sous Lion seraient grandement appréciés. Merci.

  ServerName bonk.example.com

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

    ServerName bonk.example.com
    DocumentRoot "/Rails/deployed/bonk/current/public"
    RackEnv example_production
    RailsEnv example_production

      Order allow,deny
      Allow from all
      Options FollowSymLinks

  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"

7voto

Stephen Pellicer Points 828

Générer une clé hôte

Tout d'abord, créez un emplacement pour les nouveaux fichiers SSL. J'utilise /etc/apache2/ssl. Ouvrez une fenêtre de terminal, accédez au nouveau répertoire et lancez la commande suivante pour créer un fichier de clé hôte.

sudo ssh-keygen -f host.key

Générer un fichier de demande de certificat

Cette commande crée un fichier de demande de certificat. Un fichier de demande de certificat contient des informations sur votre organisation qui seront utilisées dans le certificat SSL.

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

Créer le certificat SSL

Créez un certificat SSL autosigné en utilisant le fichier de demande.

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

Configurer Apache

Créez une sauvegarde de /etc/apache2/httpd.conf.

Ajoutez le contenu de /etc/apache2/extra/httpd-ssl.conf à /etc/apache2/httpd.conf.

Dans /etc/apache2/httpd.conf, assurez-vous que le chargement du SSL est activé (supprimez le #)

LoadModule ssl_module libexec/apache2/mod_ssl.so

De plus, modifiez la section SSL pour utiliser le nouveau certificat.

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

Vérifiez la configuration et redémarrez Apache pour essayer le nouveau certificat.

sudo apachectl configtest
sudo apachectl restart

Merci à la House of Ding et à Matt Langtree pour avoir fourni une grande partie de cette solution.

1voto

willCode4Beer Points 270

Le problème avec ce qui précède est qu'un mot de passe ou une phrase de passe est requis par Apache qu'il ne peut pas obtenir. Par conséquent, Apache ne fonctionnera pas ou ne se lancera pas!

Ce qui est nécessaire est de créer une clé hôte "sans mot de passe" avec cette commande:

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

...et de diriger la clé SSL d'Apache vers la clé host.nopass.key qu'elle génère.

Lorsque j'ai fait cela, mon Apache Lion fonctionne avec succès.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X