Nginx : SSL_CTX_use_PrivateKey_file (..) a échoué
Je auto-généré 2 certificats auto-signés avec openssl pour des fins de test à l'aide de :
$ sudo openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=FR/ST=Charente/L=Mornac/O=Office/CN=api.cockpit.yves" -keyout /usr/local/etc/nginx/ssl/api.cockpit.yves.key -out /usr/local/etc/nginx/ssl/api.cockpit.yves.crt
Generating a 4096 bit RSA private key
..........................................................................++
...................++
writing new private key to '/usr/local/etc/nginx/ssl/api.cockpit.yves.key'
-----
$ sudo openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=FR/ST=Charente/L=Mornac/O=Office/CN=admin.cockpit.yves" -keyout /usr/local/etc/nginx/ssl/admin.cockpit.yves.key -out /usr/local/etc/nginx/ssl/admin.cockpit.yves.crt
Generating a 4096 bit RSA private key
..................................................................................................................................................++
..............................++
writing new private key to '/usr/local/etc/nginx/ssl/admin.cockpit.yves.key'
-----
et dans mon nginx.fichier conf , j'ai configuré les serveurs Https :
server {
listen 8444 ssl;
server_name admin.cockpit.yves;
ssl_certificate ssl/admin.cockpit.yves.crt;
ssl_certificate_key ssl/admin.cockpit.yves.crt;
...
}
server {
listen 8445 ssl;
server_name api.cockpit.yves;
ssl_certificate ssl/api.cockpit.yves.crt;
ssl_certificate_key ssl/api.cockpit.yves.crt;
...
}
cependant tester la config nginx, j'obtiens l'erreur suivante :
sudo nginx -t
nginx: [emerg] SSL_CTX_use_PrivateKey_file("/usr/local/etc/nginx/ssl/admin.cockpit.yves.crt") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: ANY PRIVATE KEY error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib)
nginx: configuration file /usr/local/etc/nginx/nginx.conf test failed
ce qui pourrait être mauvais ? est-ce parce que j'essaie de configuration 2 certificats pour 2 différents sous-domaines (admin. et de l'api. ) pour le même domaine cockpit.yves ?
merci pour vos commentaires
Vous avez le mauvais nom pour votre
merci c'est... recomposer votre commentaire est une réponse si vous voulez que je vote pour elle ...
J'ai connu le même problème, Cela peut se produire lorsque la ssl_certificate_key n'est pas la bonne clé pour la ssl_certificate. Espérons que cela aide quelqu'un 🙂
ssl_certificate_key
fichier. Cut & pâte d'erreur?merci c'est... recomposer votre commentaire est une réponse si vous voulez que je vote pour elle ...
J'ai connu le même problème, Cela peut se produire lorsque la ssl_certificate_key n'est pas la bonne clé pour la ssl_certificate. Espérons que cela aide quelqu'un 🙂
OriginalL'auteur | 2016-02-21
Vous devez vous connecter pour publier un commentaire.
Votre clé fichier ne doit pas contenir votre clé.
J'ai eu ce problème aussi. Dans mon cas, j'avais collé mon crt à mon clé fichier (et mon crt fichier a été correcte).
Mon clé fichiers commencent par la chaîne:
-----BEGIN RSA PRIVATE KEY-----
Puis se termine par la chaîne:
-----END RSA PRIVATE KEY-----
Dans les commentaires sous la question, Richard Smith a suggéré que la solution. Je vais l'afficher comme une réponse à aider les autres plus tard. Accessoires pour Richard.
Mise à JOUR
J'ai aussi eu ce message en collant un combiné cert avant le cert dans le crt fichier que j'ai nourri mon serveur nginx.
cette réponse fondamentalement, il suffit de nous enseigne que, si nous avons le mal contenu dans la clé de notre ou crt fichiers, alors nous pouvons obtenir "SSL_CTX_use_PrivateKey_file" type de messages d'erreur à partir de nginx.
OriginalL'auteur James T Snell