Apache: SSLCertificateKeyFile: le file n'existe pas ou est vide

Je configure SSL pour Apache 2 . Mon système est Ubuntu Server 10.04 LTS . J'ai les parameters suivants liés à SSL dans ma configuration hameau:

 SSLEngine On SSLCertificateKeyFile /etc/ssl/private/server.insecure.key SSLCertificateFile /etc/ssl/certs/portal.selfsigned.crt 

(Note latérale: J'utilise .insecure pour le file key car le file n'est pas protégé par mot de passe, et j'aime clairement voir qu'il s'agit d'un file key non sécurisé)

Donc, lorsque je redémarre Apache, j'ai le message suivant:

 Syntax error on line 39 of /etc/apache2/sites-enabled/500-portal-https: SSLCertificateKeyFile: file '/etc/ssl/private/server.insecure.key' does not exist or is empty Error in syntax. Not restarting. 

Mais le file est là et n'est pas vide (en fait, il contient une key privée):

 sudo ls -l /etc/ssl/private/server.insecure.key -rw-r----- 1 root www-data 887 2012-08-07 15:14 /etc/ssl/private/server.insecure.key sudo ls -ld /etc/ssl/private/ drwx--x--- 2 root www-data 4096 2012-08-07 13:02 /etc/ssl/private/ 

J'ai essayé de modifier la propriété, en utilisant deux groupes www-data et ssl-cert. Je ne suis pas sûr de savoir qui est le bon dans Ubuntu: par défaut, Ubuntu utilise ssl-cert, mais d'autre part, les process apache sont exécutés avec l'user www-data: il est démarré par root de l'user, mais change en www-data à certains point, et je ne sais pas quand les certificates sont lus.

Mais de toute façon, changer le propriétaire du groupe n'a pas amélioré la situation. Mes questions sont les suivantes:

  1. Quoi d'autre puis-je essayer de fonctionner?
  2. Comment puis-je vérifier que mon file key est un file key valide?
  3. Comment puis-je vérifier que le file key et le certificate ( /etc/ssl/certs/portal.selfsigned.crt ) fonctionnent set?

Je pense que Apache donne un message d'erreur trompeur et j'aimerais identifier l'erreur.

5 Solutions collect form web for “Apache: SSLCertificateKeyFile: le file n'existe pas ou est vide”

J'ai trouvé l'erreur. C'est parce que j'utilise un script pour configurer les certificates, et l'une des étapes que je fais est apache2ctl configtest . L'erreur provenait de cette command, et non du redémarrage d'apache, ce qui était ce qui me trompait. Depuis l'exécution de la command apache2ctl en tant qu'user normal, il n'avait pas access aux files-keys et donc au message d'erreur.

Facit: assurez-vous que toutes vos commands apache sont exécutées avec sudo, même celles qui ne sont destinées qu'à la vérification de la syntaxe ( apache2ctl ), car elles ont besoin d'accéder aux keys.

J'ai fait cela et cela m'a aidé sur CentOS 5.7

 server:~ # chcon -t cert_t /etc/pki/tls/private/my.key server:~ # ls -laZ /etc/pki/tls/private/ 

Je reçois aussi le message

 SSLCertificateKeyFile: file '/path/to/file' does not exist or is empty 

while /path/to/file existent et ont les bonnes permissions, juste à cause de SELinux activé et ce file était inaccessible pour l'user apache.

Cela ressemble à ceci:

 $ sudo ls -laZ /etc/pki/tls/certs/ drwxr-xr-x. root root system_u:object_r:cert_t:s0 . drwxr-xr-x. root root system_u:object_r:cert_t:s0 .. -rw-------. root root unconfined_u:object_r:cert_t:s0 this-one-works.crt -rw-------. root root unconfined_u:object_r:admin_home_t:s0 this-one-is-unaccessable.crt 

Pour corriger cela, je cours sudo restorecon -Rv /etc/pki/tls/certs/ – il réparera la propriété SELinux pour le file problématique.

J'ai reçu un message similaire:

SSLCertificateChainFile: file '/opt/bitnami/apache2/conf/DigiCertCA.crt\xe2\x80\x9d' does not exist or is empty

Mon problème était l'éditeur de text que j'avais utilisé placé une "citation droite" ascii 148 au lieu d'une double citation normale ascii 34; en utilisant un éditeur de type unix (par exemple, TextWrangler), mettez le bon devis et résolvez le problème.

Les permissions sont fausses, mais selon votre réponse, ce n'était pas la cause du problème:

drwx--x--- 2 root www-data 4096 2012-08-07 13:02 /etc/ssl/private/

/ etc / ssl / private appartient habituellement au groupe ssl-cert sur les systèmes basés sur Debian.

Il suffit de remarquer les 0710 perms et de se requestr pour quoi il peut être utilisé.

  • Comment vérifier le support GD et Freetype
  • Qu'est-ce qui entraînerait un transfert de file réussi pour que les sums de contrôle ne correspondent pas?
  • Configurer IPv6 statique sur Ubuntu
  • Quelle est la manière recommandée de réparer le bug Shellshock Bash sur un server Ubuntu non pris en charge?
  • L'enregistrement PTR ne sera pas mis à jour
  • Ubuntu 14.04 getting ping: sendmsg: opération non autorisée
  • Les pilotes IPMI manquent
  • Pourquoi le projet django a-t-il échoué le deployment? - django + nginx + uwsgi
  • Créer automatiquement les modules du kernel après les mises à jour sans assistance dans ubuntu
  • Accès Subversion et sftp dans l'annuaire Chroot-ed
  • Apache2 mod_proxy à distance Tomcat7 - réponse lente
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.