J'ai auto-généré 2 certificats auto-signés avec openssl à des fins de test en utilisant:
$ 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 fichier nginx.conf, j'ai configuré les serveurs Https avec:
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 en testant la configuration 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
qu'est-ce qui pourrait mal? est-ce parce que j'essaie de configurer 2 certificats pour 2 sous-domaines différents (admin. et api.) pour le même domaine cockpit.yves?
merci pour vos commentaires
Votre fichier de clé ne contient probablement pas votre clé .
J'ai eu ce problème également. Dans mon cas, j'avais collé mon crt dans ma clé (et mon fichier réel crt était correct).
Mes fichiers de clés commencent par la chaîne: -----BEGIN RSA PRIVATE KEY-----
Se termine ensuite par la chaîne: -----END RSA PRIVATE KEY-----
Dans les commentaires sous la question, Richard Smith a en fait suggéré cela comme solution. Je le poste comme réponse pour aider les autres plus tard. Accessoires à Richard.
MISE À JOUR
J'ai également rencontré ce message en collant un certificat combiné avant le certificat dans le fichier crt que j'ai alimenté mon serveur nginx.