web-dev-qa-db-fra.com

Erreur "Le serveur doit être compatible SSL mais n'a pas de certificat configuré [Indice: SSLCertificateFile]"

Après avoir récemment mis à niveau Apache2 vers la version 2.2.31, j'ai trouvé un comportement étrange dans la configuration SSL VirtualHost.

Certains des sites Web que j'héberge montraient le certificat de l'hôte par défaut même si le client était Server Name Identification conscient, et cela ne s'est produit qu'avec quelques-uns d'entre eux. Cela apparaît comme l'avertissement de passeport commun de Firefox/Chrome sur votre possibilité d'être victime d'une arnaque si vous naviguez sur votre banque à domicile, mais ce n'était tout simplement pas le cas.

Pour être clair, si le serveur Host.hostingdomain.org possède son propre SSL, tentant d'accéder à https://www.hostedsite.org signale le certificat pour Host.hostingdomain.org, mais quelques https://www.hostedsite.me a signalé le bon certificat.

Tous les sites sont hébergés sur la même adresse IP, sur le port 443. La vérité est que VirtualHosting fonctionne du côté HTTP et redirige automatiquement les clients SNI vers SSL, il est donc rétrocompatible avec les clients non SNI.

L'examen des journaux d'erreurs pour les VirtualHosts incriminés a montré le texte suivant

[Tue Dec 25 16:02:45 2012] [error] Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] (/path/to/www.site.org.conf:20)

et en fait, le vhost a été correctement configuré avec SSLCertificateFile.

La question est évidente: comment y remédier?

21

Il se peut que ce soit un bug dans la version la plus récente d'Apache.

Solution 1: rétrograder vers la dernière version stable

Solution 2: modifier listen.conf

Remplacer Listen *:443 (ou Listen 443 selon votre configuration) avec Listen *:443 http

Crédit

38

J'ai eu exactement le même problème, et ce qui a fonctionné pour moi était incroyablement simple

éditez /etc/Apache2/ports.conf (pour ubuntu ou httpd.conf)

changer "Listen 443" en "Listen 443 http" sous ssl_module

10
Justice O.

Une autre solution consiste à vous assurer que tous vos: 443 vhosts incluent la configuration TLS.

Ce problème a été récemment introduit dans Debian wheezy et j'ai obtenu la solution de http://blog.noizeramp.com/2010/10/03/Apache-2-and-ssl-configuration / .

2
Francois Marier