【问题标题】:Installing godaddy ssl certificate to server : getting this below error when i restart service nginx将 godaddy ssl 证书安装到服务器:当我重新启动服务 nginx 时出现以下错误
【发布时间】:2020-08-09 00:05:15
【问题描述】:

nginx:[emerg] SSL_CTX_use_PrivateKey_file(“/etc/nginx/ssl/mydomain.key”)失败(SSL:错误:0909006C:PEM 例程:get_name:无起始行:预期:任何私钥错误:140B0009:SSL例程:SSL_CTX_use_PrivateKey_file:PEM lib)

#HTTPS server configuration
 server {
        listen 443;
        listen [::]:443;

        ssl on;

        ssl_certificate /etc/nginx/mydomain.chained.crt;
        ssl_certificate_key /etc/nginx/mydomain.key;

        root /var/www/html;

        server_name mydomain; 

        location / {

        try_files $uri $uri/ =404;

        }
   }

【问题讨论】:

  • crt 文件中没有间隙或没有不需要的字母或任何东西。我阅读了许多问答部分,并且可以理解 crt 的工作原理。但还是想不通。我是 nginx 服务器问题的新手,非常感谢您的帮助!
  • 文件/etc/nginx/mydomain.key的第一行是什么?
  • -----BEGIN PRIVATE KEY----- 这是第一行。感谢您的回复@RichardSmith

标签: ssl nginx nginx-reverse-proxy


【解决方案1】:

今天我遇到了这个确切的问题并解决了它。 解决方法是在Notepad++中打开私钥文件,将编码改为ANSI,然后上传到服务器使用。

【讨论】:

    【解决方案2】:

    如果其他人遇到这种情况,@aCid 是对的。我的问题是.key 文件的编码。

    我使用GoDaddy 并让他们为我生成私钥(然后下载它)。原来它被编码为UTF-8。这不适用于NGINX。你需要它以 ASCII 编码。

    由于这已经在我的服务器上并且我通过 SSH 访问它,我只是:

    1. 打开原始密钥文件(编码为UTF-8
    2. 复制了内容。
    3. 创建了一个新的密钥文件 (vi newfile.key)。
    4. 将 #2 中的内容粘贴到新文件中。
    5. 将新密钥文件移到旧密钥文件的位置。

    之后一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-29
      • 1970-01-01
      • 2021-01-15
      • 2014-04-10
      • 2018-07-20
      • 1970-01-01
      • 1970-01-01
      • 2020-11-13
      相关资源
      最近更新 更多