J'essaie d'installer SSL sur mon proxy inverse Nginx avec des touches SSL certifiées, mais je reçois ce message lorsque j'essaie de redémarrer le serveur:
Restarting nginx: [emerg]: SSL_CTX_use_PrivateKey_file("/etc/nginx/conf.d/cert.key") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:PEM lib)
configuration file /etc/nginx/nginx.conf test failed
tous les familles sont racines: racine avec 600 autorisations J'ai testé les certificats et ils sont validés avec ce site Web: http://ssltools.com/cert_key_match
il n'y a pas de caractiers étranges triés dans mes clés et a 64 caractéristiques par ligne
voici mon fichier de configuration
server {
listen 443;
server_name my.domain.com;
ssl on;
ssl_certificate conf.d/cert.pem;
ssl_certificate_key conf.d/cert.key;
location / {
proxy_pass http://upstream1;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $Host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Des idées? Merci
chèque ICI
J'espère que vous avez collé - collé avec les lignes suivantes:
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
Une solution différente pouvant fonctionner pour les autres:
utilisez le .pem
Fichier pour les deux ssl_certificate
et ssl_certificate_key
C'est-à-dire:
...
ssl on;
ssl_certificate conf.d/cert.pem;
ssl_certificate_key conf.d/cert.pem;
...
FYI, assurez-vous que votre bloc de début est identique au bloc attendu, caractère de caractère. Le mien a commencé avec 4 tirets, pas 5. ----
vs -----
. Les messages d'erreur d'outil de validation ne sont pas très précis lorsque vous faites cette erreur.
J'ai eu le même problème (de /var/log/nginx/error.log)
2019/03/20 01:25:41 [emerg] 2509#0: SSL_CTX_use_PrivateKey_file("/etc/nginx/conf.d/sslcert/mm.merchantspring.com.au.key") 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)
ensuite, j'ai trouvé que mon fichier clé doit également être enchaîné avec certificat. Après la mise à jour du fichier de clé, redémarrez NGinx, cela fonctionne.
Le fichier de configuration NGinx est comme ceci:
ssl_certificate /etc/nginx/conf.d/sslcert/mywebsite.pem;
ssl_certificate_key /etc/nginx/conf.d/sslcert/mywebsite.key;
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
J'ai eu le fichier clé du site Web de Godaddy au lieu de la créer par OpenSSL. Mais je pense que ce sera mieux si cela va avec OpenSSL.