我用openssl自生成了2个带有openssl的自签名证书,用于测试目的:
$ 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有什么不对的?是因为我试图为两个不同的子域(admin )设置2个证书吗?还有api。)对于相同的域cockpit.yves?
谢谢你的反馈
发布于 2016-12-03 17:05:13
您的密钥文件可能不包含您的密钥。
我也有这个问题。在我的例子中,我将我的crt粘贴到我的密钥文件中(我的实际crt文件是正确的)。
我的密钥文件以字符串开头:-----BEGIN RSA PRIVATE KEY-----
然后以字符串结束:-----END RSA PRIVATE KEY-----
在问题下的评论中,理查德·史密斯实际上提出了这一解决方案。我发这篇文章是为了以后帮助别人。道具给理查德。
更新
我还通过在我的nginx服务器的crt文件中的cert之前粘贴一个组合证书来体验这一消息。
https://stackoverflow.com/questions/35540159
复制相似问题