2011-08-04 3 views
24

J'ai une instance EC2 qui utilise l'installation Linux personnalisée d'Amazon avec Apache intégré. Cette installation a également openssl installé. Cela étant dit, il ne semble pas y avoir de mod_ssl.so à charger dans httpd.conf. Donc, je veux savoir quel est le meilleur moyen d'activer Apache pour que je puisse configurer mon hôte virtuel SSL (notez que j'ai déjà installé les cert/signatures). Idéalement, je ne voudrais pas avoir à reconstruire/réinstaller Apache.Activation de SSL sur une instance Apache sur EC2

Répondre

31

Essayez cette commande:

yum install mod_ssl 
+10

Cheers. Pour les utilisateurs d'Apache 2.4: j'ai dû utiliser 'yum install mod24_ssl'. –

+4

oui, 'yum install mod24_ssl' a bien fonctionné sur mon serveur amazon ec2. –

+1

quelqu'un pourrait expliquer s'il vous plaît pourquoi tout le monde publie toujours miam sans sudo? ça ne marche jamais sans sudo, alors pourquoi tu ne l'écris pas? – Anthony

24

Un résumé de ce qui doit être fait pour activer le protocole SSL sur le serveur apache sur EC2:

  1. obtenir le certificat SSL (que vous l'avez déjà fait)
  2. Installez mod_ssl comme Jose Vega dit
  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, ne pas oublier d'ouvrir le port 443 sur votre instance EC2

+2

J'ai perdu quelques heures à essayer de savoir pourquoi je ne peux pas accéder à mon site avec SSL et seulement pour remarquer que j'oublie d'ouvrir le port 443 dans mon groupe de sécurité!Si ce n'est pas à cause de votre rappel, j'aurais pu passer encore quelques heures à essayer de déboguer cela. – Stanley

+0

Absolument génial! Vaut la peine de mentionner que le répertoire par défaut pour les .crt et le fichier .key sur le serveur EC2 '/ etc/pki/tls/privé /' –

12

j'ai réussi à activer SSL sur mon instance EC2 et d'installer un certificat ssl sans startssl.com. J'ai fait quelques erreurs, c'est l'approche de base:

  1. Inscription à startssl.com en cliquant sur le lien Panneau de configuration
    • complète le processus d'inscription. Vous devrez vérifier votre adresse e-mail.
  2. Validez votre domaine sous Assistant de validation -> Nom de domaine Validation
  3. obtenir un certificat par Assistant Certificat
    • 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 keysize 4096
    • Enregistrer la clé privée cryptée comme ssl.encrypted.key quelque part
    • ?? J'oublie ce qui s'est passé ensuite
    • Enregistrez le fichier de certificat en tant que ssl.crt quelque part. Pour moi, je devais attendre 30 minutes puis il est apparu sous Boîte à outils -> retrive certificat
  4. Utilisez OpenSSL pour décrypter le fichier crypté ssl.encrypted.key
    • sudo openssl rsa -in ssl.encrypted.key -out ssl.unencrpted.key
    • startssl.com également avoir une option Décrypter sur leur site web, mais cela n'a pas fonctionné pour moi
  5. mastic/ssh sur votre machine EC2
  6. installer mod_ssl
    • sudo yum install mod_ssl
  7. Remplacer la certificat par défaut et clé
    • sudo vi /etc/pki/tls/certs/localhost.crt
    • Coller le contenu de ssl.crt
    • Assurez-vous qu'il colle correctement! Je perds toujours les 6 premiers caractères
    • 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. Restart
    • sudo service httpd restart
    • j'avais des problèmes de redémarrer et je pense que fixe était sudo kill -9 httpd
+0

Je l'ai fait toutes ces étapes - 'vi sudo/etc/pki/tls/certs/localhost. crt' causé des problèmes pour moi. Remplacer son contenu avec le contenu de mon fichier ssl.crt provoque des problèmes. Httpd ne démarre pas à cause de cela - 'apachectl configtest' dit' Syntaxe OK' mais httpd ne démarre toujours pas. Restaurer le fichier fixe httpd qui était définitivement la source. Des idées? – maxhud

3

Vous devez installer le module SSL, puisque SSL mod ne sont pas livrés avec la plupart des cas par défaut, mais cela dépend de la version d'Apache que vous utilisez dans votre instance AWS. Pour vérifier que celui que 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 
0

Si vous utilisez Amazon Lightsail, assurez-vous d'aller en réseau à partir du tableau de bord Lightsail et ajouter HTTPS/443 dans votre pare-feu:

enter image description here

Questions connexes