【问题标题】:cannot read certificate file: /root/ssl/mongodb.pem MongoDB SSL ISSUE无法读取证书文件:/root/ssl/mongodb.pem MongoDB SSL ISSUE
【发布时间】:2019-11-23 17:09:21
【问题描述】:

我无法重新启动我的mongodb 服务。检查/var/log/mongodb/mongod.log 的日志时,我收到以下错误:

cannot read certificate file: /root/ssl/mongodb.pem error:0200100D:system library:fopen:Permission denied
2019-11-23T17:04:27.679+0000 F  CONTROL  [main] Failed global initialization: InvalidSSLConfiguration: Can not set up PEM key file.

我的/etc/mongod.conf 看起来像:

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1
  tls:
      mode: requireTLS
      certificateKeyFile: /root/ssl/mongodb.pem
# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

/root/ssl/ 文件夹的权限是:

-rw-rw-r-- 1 mongodb mongodb 1354 Nov 23 16:22 mongodb.crt
-rw-rw-r-- 1 mongodb mongodb 1082 Nov 23 16:22 mongodb.csr
-rw-rw-r-- 1 mongodb mongodb 1679 Nov 23 16:21 mongodb.key
-rw-rw-rw- 1 mongodb mongodb 3033 Nov 23 16:22 mongodb.pem
-rw-rw-r-- 1 mongodb mongodb 1751 Nov 23 16:20 rootCA.key
-rw-rw-r-- 1 mongodb mongodb 1472 Nov 23 16:21 rootCA.pem
-rw-rw-r-- 1 mongodb mongodb   17 Nov 23 16:22 rootCA.srl
Ubuntu 16.04 LTS
MongoDB : 4.2 

【问题讨论】:

  • 我能够做到这一点的方法之一是授予用户 mongodb 特定目录的权限。 sudo chown -R mongodb:mongodb 然后我重新启动了 mongodb 服务,它工作了!

标签: mongodb ssl


【解决方案1】:

文件夹root通常有以下权限:

drwx------    5 root root  4096 Nov 25 15:32 root/

这意味着用户mongodb首先无法访问它。

我的建议是将 /root/ssl 文件夹中的文件移动到 /etc/ssl/mongodb/ 并相应地更新 mongod.conf 文件。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题并且很困惑,因为他们期望 1 个单个文件。

    如您所见,您链接了 .pem,但没有链接私钥。

    只需将它们连接起来 cat priv.key >> cert.pem 就可以立即开始工作了。

    Check this detailed tutorial.

    【讨论】:

      【解决方案3】:

      更改 mongod.conf 文件的内容。

      # mongod.conf
      
      # for documentation of all options, see:
      #   http://docs.mongodb.org/manual/reference/configuration-options/
      
      # Where and how to store data.
      storage:
        dbPath: /var/lib/mongodb
        journal:
          enabled: true
      #  engine:
      #  mmapv1:
      #  wiredTiger:
      
      # where to write logging data.
      systemLog:
        destination: file
        logAppend: true
        path: /var/log/mongodb/mongod.log
      
      # network interfaces
      net:
        port: 27017
        bindIp: 0.0.0.0
      
      
      # how the process runs
      processManagement:
        timeZoneInfo: /usr/share/zoneinfo
      
      #security:
      
      #operationProfiling:
      
      #replication:
      
      #sharding:
      
      ## Enterprise-Only Options:
      
      #auditLog:
      
      #snmp:
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多