Overview
MongoDB Search 和向量搜索在 mongot 和 mongod 之间使用两个内部通信渠道:
同步源连接 (
mongot→mongod/mongos):mongot从副本集读取数据和元数据,以构建和维护搜索索引。您可以在mongot配置文件的syncSource部分为此连接配置 TLS。查询服务器连接 (
mongod→mongot):mongod通过 gRPC 将 MongoDB Search 和向量搜索查询和索引管理命令转发到mongot。您在mongot配置文件的server.grpc.tls部分为此连接配置 TLS。
为同步源连接配置 TLS
mongot 作为 MongoDB 客户端连接到副本集合,以同步数据进行索引。要加密此连接,请在 mongot 配置文件的 syncSource.replicaSet 部分中配置 scramAuth.tls 块。
syncSource: replicaset: hostAndPort: "localhost:27017" #Replace with the mongod host and port. scramAuth: username: "mongot" passwordFile: "/etc/mongot/secrets/passwordFile" tls: enabled: true tlsCertificateKeyFile: "/path/to/mongot-client.pem" tlsCertificateKeyFilePasswordFile: "etc" caFile: "/path/to/ca.pem"
如果您未在 scramAuth.tls 配置中指定 caFile,则 mongot 使用系统密钥库来验证服务器证书。指定 CA 文件以控制 mongot 信任的证书。
如果 mongot 通过 mongos 路由器连接到分片集群,则还必须将 syncSource.router.scramAuth.tls 设置为 true。
为查询服务器配置 TLS
mongod 通过 gRPC 连接到 mongot,以发送 MongoDB Search 和向量搜索查询。要加密此连接,请在 mongot 配置文件中配置 server.grpc.tls。
查询服务器支持以下 TLS 模式:
模式 | 说明 |
|---|---|
| 禁用 TLS。 |
| 启用 TLS。 |
| 启用双向 TLS。 |
在查询服务器上启用 TLS
要在查询服务器上启用 TLS,请将 server.grpc.tls.mode 设置为 "TLS",并指定 mongot 证书和私钥 PEM 文件的路径:
server: grpc: address: "<host>:<port>" tls: mode: "TLS" certificateKeyFile: "/etc/mongot-tls/mongot-combined.pem"
在查询服务器上启用 mTLS
要在查询服务器上启用双向 TLS,请将 server.grpc.tls.mode 设置为 "mTLS"。指定证书密钥文件和 CA 文件,以便 mongot 可以向 mongod 进行身份验证:
server: grpc: address: "<host>:<port>" tls: mode: "mTLS" certificateKeyFile: "/etc/mongot-tls/mongot-combined.pem" caFile: "/etc/mongot-tls/ca.pem"