web-dev-qa-db-fra.com

Activation de SSL sur une instance Apache sur EC2

J'ai une instance EC2 qui utilise l'installation Linux personnalisée d'Amazon avec Apache intégré. Openssl est également installé lors de cette installation. Cela étant dit, il ne semble pas y avoir de mod_ssl.so à charger dans httpd.conf. 

Je souhaite donc connaître le meilleur moyen de rendre Apache compatible avec SSL afin de pouvoir configurer mon hôte virtuel SSL (notez que j'ai déjà configuré les certificats/signatures). Idéalement, j'aimerais ne pas avoir à reconstruire/réinstaller Apache.

26
Matthew Peterson

Essayez cette commande:

 yum install mod_ssl 
33
Jose Vega

Résumé de ce qui doit être fait pour activer SSL sur le serveur Apache sur EC2:

  1. Obtenir un certificat SSL (ce que vous avez déjà fait)
  2. Installez mod_ssl comme dit José Vega
  3. Ajoutez les lignes suivantes à votre httpd.conf 3.
NameVirtualHost *:443

<VirtualHost *:443>
    ServerName www.example.com
#    other configurations
SSLEngine on
SSLCertificateFile /etc/httpd/conf/ssl.crt/mydomain.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/mydomain.key
</VirtualHost>

Enfin, n'oubliez pas d'ouvrir le port 443 sur votre instance EC2

27
CodeBrew

J'ai réussi à activer SSL sur mon instance ec2 et à installer un certificat SSL gratuit de startssl.com . J'ai commis quelques erreurs, voici l'approche de base:

  1. Inscrivez-vous à startssl.com en cliquant sur le lien du Panneau de configuration
    • Terminez le processus d'inscription. Vous devrez vérifier votre adresse e-mail.
  2. Validez votre domaine sous Validation Wizard -> Validation du nom de domaine
  3. Obtenez un certificat par Certificat Wizard
    • Choisissez: Web Server SSL/TLS Certificate
    • Entrez un mot de passe qui sera utilisé pour chiffrer la clé privée. Vous en aurez besoin plus tard.
    • J'ai choisi la taille de clé de 4096
    • Enregistrez la clé privée cryptée en tant que ssl.encrypted.key quelque part
    • ?? J'oublie ce qui s'est passé ensuite
    • Enregistrez le fichier de certificat sous le nom ssl.crt. Pour moi, j’ai dû attendre 30 minutes, puis il est apparu sous Boîte à outils -> Certificat suivant
  4. Utilisez openssl pour déchiffrer le fichier crypté ssl.encrypted.key
    • Sudo openssl rsa -in ssl.encrypted.key -out ssl.unencrpted.key
    • startssl.com propose également une option de déchiffrement sur son site Web, mais cela ne fonctionne pas pour moi
  5. Mastic/ssh sur votre machine ec2
  6. installez mod_ssl
    • Sudo yum install mod_ssl
  7. Remplacez le certificat et la clé par défaut
    • Sudo vi /etc/pki/tls/certs/localhost.crt
    • Coller dans le contenu de ssl.crt
    • Assurez-vous qu'il colle correctement! Je perds toujours les 6 premiers personnages
    • Utilisez :%d pour supprimer le certificat existant si nécessaire
    • [ESC] wq
    • Sudo vi /etc/pki/tls/private/localhost.key
    • Coller dans le contenu de ssl.unencrypted.key
    • Encore une fois, assurez-vous qu'il colle correctement! 
    • [ESC] wq
  8. Vérifiez la configuration
    • apachectl configtest
  9. Redémarrer
    • Sudo service httpd restart
    • J'ai eu des problèmes de redémarrage et je pense que ce qui a été corrigé était Sudo kill -9 httpd
12
Iain

Vous devez installer le module SSL, car le protocole SSL mod n'est pas fourni avec la plupart des instances par défaut, mais cela dépend de la version d'Apache que vous utilisez dans votre instance AWS. Pour vérifier lequel vous utilisez, vous pouvez exécuter cette commande dans votre ligne de commande:

httpd -v

Pour Apache 2.2

yum install mod_ssl

Pour Apache 2.4

yum install mod24_ssl

Si vous utilisez Amazon Lightsail, veillez à accéder à la section Mise en réseau à partir du tableau de bord Lightsail et à ajouter HTTPS/443 dans votre pare-feu:

 enter image description here

0
WEBjuju