温馨提示×

MongoDB配置中的网络设置有哪些

小樊
33
2025-12-30 21:20:15
栏目: 云计算

MongoDB 网络设置全览

核心参数清单

  • 基础监听
    • port:监听端口,默认 27017
    • bindIp:绑定的 IP 地址列表,默认 127.0.0.1(MongoDB 3.6+ 起更严格,仅本地)。可填多个地址(逗号分隔),也可在地址中直接加入 Unix 域套接字路径(如:/data/mongodb/27017/run/mongodb.sock)。
    • bindIpAll:是否绑定到所有地址,默认 false;自 3.6 引入,且优先级高于 bindIp。设为 true 时将以“监听所有地址”为准。
    • ipv6:是否启用 IPv6,默认 false
  • 连接与传输
    • maxIncomingConnections:最大并发入站连接数,默认 65536
    • wireObjectCheck:是否校验客户端 BSON 有效性,默认 true(开启会对性能有轻微影响)。
  • Unix 域套接字
    • unixDomainSocket.enabled:是否启用 Unix Domain Socket,默认 true
    • unixDomainSocket.pathPrefix:套接字文件目录与前缀,默认 /tmp(实际文件通常为 /tmp/mongodb-<端口>.sock)。
    • unixDomainSocket.filePermissions:套接字文件权限,默认 0700
  • 传输加密(TLS/SSL)
    • ssl.mode:加密模式,常见值 disabled / allowSSL / preferSSL / requireSSL
    • ssl.PEMKeyFile / PEMKeyPassword:证书与私钥(及私钥口令)。
    • ssl.clusterFile / ssl.clusterPassword:集群内部认证证书与口令。
    • ssl.CAFile / ssl.CRLFile:CA 证书链与证书吊销列表。
    • ssl.allowConnectionsWithoutCertificates / allowInvalidCertificates / allowInvalidHostnames:证书校验宽松选项(不建议生产开启)。
    • ssl.disabledProtocols:禁用的协议版本(如 TLS1_0, TLS1_1, TLS1_2)。
    • ssl.FIPSMode:是否启用 FIPS 模式。
  • 已废弃/不推荐
    • net.http.enabled、net.http.JSONPEnabled、net.http.RESTInterfaceEnabled:HTTP 接口与 REST/JSONP,默认 false,线上应关闭。

常见配置示例

  • 仅本地 + Unix 套接字(适合本机服务)
    net:
      port: 27017
      bindIp: 127.0.0.1,/data/mongodb/27017/run/mongodb.sock
      unixDomainSocket:
        enabled: true
        pathPrefix: /data/mongodb/27017/run
        filePermissions: 0700
    
  • 监听内网地址(更安全)
    net:
      port: 27017
      bindIp: 192.168.1.100,127.0.0.1
    
  • 监听所有地址(便捷但不安全,务必配合认证与防火墙)
    net:
      port: 27017
      bindIpAll: true
    
  • 启用 TLS/SSL(示例)
    net:
      port: 27017
      ssl:
        mode: requireSSL
        PEMKeyFile: /etc/mongodb/server.pem
        CAFile: /etc/mongodb/ca.pem
    

以上示例展示了 bindIp / bindIpAll 的典型用法、Unix 套接字配置以及 TLS/SSL 的基本启用方式。

生效与运维要点

  • 修改配置后需重启实例(示例)
    • Linux(systemd):sudo systemctl restart mongod
    • Windows:在服务管理器中重启 MongoDB 服务
    • macOS(Homebrew):brew services restart mongodb-community
  • 防火墙与云安全组
    • 开放对应端口(默认 27017/TCP),仅放通必要来源网段(如内网 VPC/CIDR)。
  • 安全建议
    • 避免将 bindIp 设为 0.0.0.0 并暴露公网;优先使用 bindIp 指定内网地址或配合 bindIpAll: true 时严格限制来源。
    • 启用 认证与授权:在配置中设置 security.authorization: enabled 并创建具备最小权限的用户。
    • 启用 TLS/SSL 以加密传输数据,禁用不安全的协议版本。

版本与默认值差异

  • MongoDB 3.6 起,bindIp 默认仅绑定 localhost(127.0.0.1),如需远程访问需显式配置 bindIp 或开启 bindIpAll
  • bindIpAll 的优先级高于 bindIp;同时指定时以 bindIpAll 为准。

0