217 votes

Comment autoriser HTTPS pour Apache sur localhost ?

On m’a demandé de mettre en place HTTPS avec un certificat auto-signé sur Apache sur localhost, mais comment dois-je vraiment faire cela ? Je ne sais pas du tout.

151voto

Simon Points 4467

J'ai juste tenté - je besoin de tester certains de code de développement sur mon localhost Apache sur Windows. C'était WAAAY plus difficile qu'elle ne devrait l'être. Mais voici les étapes qui ont réussi à travailler après beaucoup de hairpulling...

J'ai trouvé que mon installation d'Apache est fourni avec openssl.exe , ce qui est utile. Si vous n'avez pas une copie, vous devrez le télécharger. Mon exemplaire a été en Apache2\bin le dossier qui est comment je de référence ci-dessous.

Étapes:

  1. Vous assurer que vous disposez des autorisations d'écriture pour votre conf Apache dossier
  2. Ouvrez une invite de commande en Apache2\conf le dossier
  3. Type
    ..\bin\openssl req -config openssl.cnf -new -out blarg.csr -keyout blarg.pem
  4. Vous pouvez laisser toutes les questions en blanc, sauf:

    • PEM mot de passe: un mot de passe temporaire comme "mot de passe"
    • Nom commun: le nom d'hôte de votre serveur

  5. Lorsque ce est terminé, tapez
    ..\bin\openssl rsa -in blarg.pem -out blarg.key

  6. Générer votre certificat auto-signé en tapant:
    ..\bin\openssl x509 -in blarg.csr -out blarg.cert -req -signkey blarg.key -days 365

  7. Ouvrir Apache conf\httpd.conf fichier et assurez-vous SSL module est activé, il devrait y avoir pas de hachage au début de cette ligne:
    LoadModule ssl_module modules/mod_ssl.so

  8. Certains Apache installations place la configuration SSL dans un fichier séparé. Si oui, assurez-vous que le protocole SSL conf fichier est inclus. Dans mon cas, j'ai eu de décommenter cette ligne:
    Include conf/extra/httpd-ssl.conf

  9. Dans la configuration SSL httpd-ssl.conf j'ai eu à mettre à jour les lignes suivantes:

    • Mise à jour
      SSLSessionCache "shmcb:C:\Program Files (x86)\Zend\Apache2/logs/ssl_scache(512000)"
      pour
      SSLSessionCache "shmcb:C:/Progra\~2/Zend/Apache2/logs/ssl_scache(512000)"
      (Les crochets dans le chemin de confondre le module, donc nous avons besoin d'y échapper)
    • DocumentRoot - réglez ce paramètre sur le dossier pour vos fichiers web
    • ServerName - le nom d'hôte du serveur
    • SSLCertificateFile "conf/blarg.cert"
    • SSLCertificateKeyFile "conf/blarg.key"

  10. Redémarrer Apache.

  11. Essayez de chargement https://localhost/ dans votre navigateur.

Espérons que vous avez rendu à ce point. Hésitez pas à mettre à jour ce post avec toute autre info utile.

(Les captures d'écran de courtoisie de Neil Obremski et ses précieux article - bien que maintenant tout à fait à jour.)

60voto

sudip Points 711

J’utilise ngrok (https://ngrok.com/) pour cela. ngrok est un outil de ligne de commande et de créer un tunnel pour localhost. Il crée une connexion http et https. Après l’avoir téléchargé, doit être exécuté la commande suivante :

Après quelques secondes, il donnera deux URL :

Maintenant, les URL pointent vers l’hôte local.

38voto

dj_segfault Points 6407

Apache2 SSL sur Windows a un bon tutoriel qui explique le processus. Elle pourra être qu'utile.

7voto

Pete Clark Points 331

Il est en fait assez facile, en supposant que vous avez une openssl installation à portée de main. (Quelle plate-forme êtes-vous?)

En supposant que vous êtes sur solaris/linux/mac os/x, Van de Apache SSL/TLS mini-HOWTO est une excellente procédure pas à pas que je ne vais pas reproduire ici.

Toutefois, le résumé est que vous devez créer un certificat auto-signé. Puisque vous utilisez apache pour localhost sans doute pour le développement (c'est à dire pas un serveur web public), vous saurez que vous pouvez faire confiance au certificat auto-signé et ne peut ignorer les avertissements que votre navigateur va jeter sur vous.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X