J'ai récemment installé un certificat SSL sur mon serveur Amazon EC2 Ubuntu 12.04 (32 bits) exécutant Apache 2.
Lorsque je tente d'accéder à mon site via https, il ne se charge pas. Lorsque j'effectue une analyse nmap, je constate que le port 443 n'est pas ouvert.
J'ai essayé d'ouvrir le port 443 dans mes tables d'IP en vain. iptables -L
yeilds
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:https
Voici comment j'ai installé ssl
J'ai modifié /etc/init.d/Apache2.conf pour inclure ssl.conf et modifié ssl.conf pour inclure les chemins d'accès Requis de mes fichiers de certificat, c'est-à-dire
SSLCertificateFile /path/fileSSLCertificateKeyFile /path/fileSSLCertificateChainFile/chemin/fichier
J'ai configuré mon groupe de sécurité pour autoriser les demandes entrantes à partir du port 443 (source TCP: 0.0.0.0/0)
Quand j'effectue le test suivant avec php
if (!extension_loaded('openssl'))
{
echo "not loaded";
}
else
{
echo "loaded" ;
}
Je suis "chargé".
Des idées?
Dans httpd-ssl.conf, avez-vous Écouter 443
Sinon, essayez de l'ajouter et de redémarrer Apache.
Commencez par vérifier si mod_ssl est activé. Sinon, activez-le en exécutant a2enmod ssl. Ensuite, vérifiez si Apache écoute sur le port 443 pour https. Ensuite, vérifiez si le pare-feu ne bloque pas le port 443.
Dans httpd.conf, ce qui suit est désactivé par défaut:
# Secure (SSL/TLS) connections
# Include conf/extra/httpd-ssl.conf
Supprimez simplement le # de l'inclusion et redémarrez Apache.
Si vous pouvez vous connecter localement (par exemple avec telnet localhost 443
comme suggéré par mti), vérifiez si le pare-feu est configuré correctement.
Dans mon cas, ufw
bloquait tout, donc je devais ufw allow 443
qui corrigeait le problème sous-jacent au même symptôme.
Je viens de rencontrer une situation où il y avait un processus d'écoute sur le port 443, le pare-feu était complètement ouvert, SELinux était désactivé et je toujours ne pouvais pas me connecter par telnet au port 443. Pas même de l'hôte local. J'ai continué à obtenir:
telnet 127.0.0.1 443
telnet: connect to address 127.0.0.1: Connection refused`
Il s'avère que la table iptables NAT contenait des règles qui redirigent le trafic entrant sur le port 443 vers un autre port (8443). Rien n'écoutait sur le port 8443.
# iptables --table nat --list
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- anywhere anywhere tcp dpt:https redir ports 8443
Supprimer les entrées NAT pertinentes a résolu le problème pour moi.
Si les clés SSL ne sont pas définies (ou ont été commentées inexplicablement par les gremlins), Apache 2.2 SSL échouera en silence. Il n'y aura pas d'erreur dans le journal et il n'écoutera pas 443. Les sites http: 80 fonctionneront.