私はopensslで2つの自己署名証明書を自己生成しました:
$ 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'
-----
そして私のnginx.confファイルで、私は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;
...
}
ただし、nginx設定をテストすると、次のエラーが発生します。
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
何が悪いのでしょうか?それは、同じドメインcockpit.yvesに対して2つの異なるサブドメイン(admin。とapi。)に対して2つの証明書をセットアップしようとしたためですか?
ご意見ありがとうございます
keyファイルにkeyが含まれていない可能性があります。
私もこの問題を抱えていました。私の場合、私のcrtを私のkeyに貼り付けましたファイル(そして私の実際のcrtファイルは正しかった)。
私のkeyファイルは文字列-----BEGIN RSA PRIVATE KEY-----
で始まります
次に、文字列-----END RSA PRIVATE KEY-----
で終わります
質問の下のコメントで、Richard Smithは実際にこれを解決策として提案しました。後で他の人を助けるための回答として投稿します。リチャードへの小道具。
[〜#〜]更新[〜#〜]
また、nginxサーバーに提供したcrtファイルの証明書の前に、結合された証明書を貼り付けることで、このメッセージを体験しました。