在为nginx添加SSL认证的时候,出现了如下错误

nginx: [emerg] SSL_CTX_use_certificate("/ssl/server.crt") failed (SSL:
error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee key too small)

如下是我使用docker 启动nginx容器服务时候的日志输出

docker 查询日志

$ docker logs [OPTIONS] CONTAINER
  Options:
        --details        显示更多的信息
    -f, --follow         跟踪实时日志
        --since string   显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
        --tail string    从日志末尾显示多少行日志, 默认是all
    -t, --timestamps     显示时间戳
        --until string   显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

在这里插入图片描述

他的意思就是说私钥长度太短了,我开始通过openssl 设置的是1024位的,然后我改成2048位的,如下

openssl genrsa -des3 -out server.key 2048 

然后重新生成ssl server证书文件,问题就解决了。(好像是和Linux系统的内核有关,我的服务器版本是CentOS 7.9)

References:

  • https://www.cnblogs.com/stronger-xsw/p/12760904.html
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐