操作场景
在企业级数据库应用中,数据传输安全是保障业务合规和信息安全的关键环节。SSL(Secure Sockets Layer)加密功能通过在客户端与向量数据库服务端之间建立加密通道,帮助您:
保障数据传输安全:对所有传输数据进行加密,有效防止数据在传输过程中被截取、篡改或窃听,确保访问凭证和业务数据的机密性。
满足合规审计要求:为金融、政务、医药等行业的数据传输加密需求提供技术支撑,助力企业满足合规监管审查。
建立可信安全通道:在客户端与数据库服务端之间建立经过身份验证的安全连接,消除中间攻击风险。
计费说明
开启 SSL 加密功能免费,不收取任何额外费用。
使用须知
在开启 SSL 加密前,请了解以下重要事项:
注意事项 | 说明 |
版本要求 | |
性能影响 | 加密会带来一定的计算开销,实例性能可能会有小幅下降。建议仅在确有传输加密需求时开启。 |
兼容性 | 对于3.1以下版本的实例,若已开通原有的非加密 HTTP 访问方式,则升级到3.1及以上版本后,原有访问方式仍可以正常使用。 |
证书管理 | 开启 SSL 后,用户无需关注证书有效期,系统自动管理证书的更新与续期。 证书文件应妥善保管,设置合理的文件权限,避免被非授权用户读取或泄露。 |
客户端适配 | 开启 SSL 后,新接入的客户端需更新 SDK,配置相关参数才能通过加密通道连接。已有的非加密连接不受影响,可继续使用。 |
网络切换 | 切换 VPC 网络时,新旧网络均支持 SSL 加密功能,无需重新配置。 |
关闭影响 | 关闭 SSL 后,已配置 SSL 加密连接的客户端将无法继续连接数据库。请确认所有相关业务已切换至非加密连接方式后,再执行关闭操作。 |
与外网访问关联 | 数据库3.1以下版本:外网仍允许使用非加密方式(HTTP)访问。 数据库3.1及以上版本:默认仅支持加密方式(HTTPS)访问外网。开通外网时,系统将会自动同步开启 SSL 功能。 |
前提条件
已创建腾讯云向量数据库实例,且实例状态为运行中。如何创建实例,请参见 创建实例。
实例数据库版本为3.1,可在实例详情页面的规格信息中确认。
如果实例已开通 HTTP 外网访问,需先在外网访问页面关闭外网访问后,再开启 SSL。
开启 SSL 加密获取证书
1. 登录 向量数据库控制台。
2. 在左侧实例列表中,找到目标实例,单击实例 ID,进入实例详情页面。
3. 选择数据安全页签, 单击 SSL 连接区域的 
。

4. 在弹出的确认对话框中,确认开启 SSL 加密后的影响,单击确定。

5. SSL 连接状态变为开启中,等待片刻,提示 SSL 加密已开启,如下所示。单击下载证书,可直接下载 tencentVDB-SSL-CA.pem 证书。
注意:
请妥善保管 CA 证书文件,避免泄露。

查看网络信息
开启 SSL 后,实例的网络信息将同时展示 HTTP 和 HTTPS 两种连接方式。
HTTP 连接方式:格式为
http://<内网 IP>:80,适用于未开启 SSL 加密或无需加密的场景。HTTPS 连接方式:格式为
https://<内网 IP>:443,适用于已开启 SSL 加密,需要通过加密通道访问数据库的场景。
使用 SSL 方式连接数据库
下载证书后,您可以在客户端配置证书并通过 SSL 加密通道连接向量数据库。
Python SDK 版本需为2.1.0及以上支持通过
tls_config 参数配置证书路径。如需升级 SDK,请执行 `pip install tcvectordb --upgrade`。说明:
推荐使用 `RPCVectorDBClient`(RPC 方式)连接数据库,该方式基于 gRPC 协议,在多线程场景下具有更优的并发性能。
`VectorDBClient`(HTTP 方式)基于 HTTP 协议,适用于对网络环境有特殊要求或需要通过 HTTP 代理访问的场景。
请确保运行环境为 Python 3.8或更高版本。
import tcvectordbfrom tcvectordb.model.enum import ReadConsistencyclient = tcvectordb.RPCVectorDBClient(url="https://<内网 IP>:443", # 开启 SSL 后的 HTTPS 连接地址key="eC4bLRy2va******************************", # API 密钥username="root",read_consistency=ReadConsistency.EVENTUAL_CONSISTENCY,timeout=30,tls_config=tcvectordb.TLSConfig(ca_cert_path="/etc/ssl/vectordb/ca.pem", # 控制台下载的证书路径),)
Java SDK 版本为2.6.0及以上支持通过
TLSConfig 参数配置证书路径。如需升级 SDK,请更新 Maven 或 Gradle 依赖中的版本号。说明:
推荐使用 `RPCVectorDBClient`(RPC 方式)连接数据库,该方式基于 gRPC 协议,在多线程场景下具有更优的并发性能。
`VectorDBClient`(HTTP 方式)基于 HTTP 协议,适用于对网络环境有特殊要求或需要通过 HTTP 代理访问的场景。
import com.tencent.tcvectordb.client.RPCVectorDBClient;import com.tencent.tcvectordb.client.VectorDBClient;import com.tencent.tcvectordb.model.param.database.ConnectParam;import com.tencent.tcvectordb.model.param.database.TLSConfig;import com.tencent.tcvectordb.model.param.enums.ReadConsistencyEnum;public class VectorDBTLSExample {public static void main(String[] args) {// 使用 CA 证书验证(推荐)TLSConfig tlsConfig = TLSConfig.newBuilder().withCACert("/etc/ssl/vectordb/ca.pem") // 控制台下载的 CA 证书文件路径.build();ConnectParam connectParam = ConnectParam.newBuilder().withUrl("https://<内网 IP>:443") // 开启 SSL 后的 HTTPS 连接地址.withUsername("root") // 数据库账号.withKey("eC4bLRy2va******************************") // API 密钥.withTimeout(30).withTLSConfig(tlsConfig).build();VectorDBClient client = new RPCVectorDBClient(connectParam,ReadConsistencyEnum.EVENTUAL_CONSISTENCY);System.out.println("SSL 加密连接创建成功");// 使用完毕后关闭客户端client.close();}}
Go SDK 版本需为2.1.0及以上支持通过 CACert 参数配置证书路径。
说明:
推荐使用
NewRpcClient 或 NewRpcClientPool(RPC 方式)连接数据库,该方式基于 gRPC 协议,具有更优的并发性能。NewClient(HTTP 方式)基于 HTTP 协议,适用于对网络环境有特殊要求或需要通过 HTTP 代理访问的场景。// Go SDK(RPC 方式,推荐)package mainimport ("fmt""time"tcvectordb "github.com/tencent/vectordatabase-sdk-go/tcvectordb")func main() {// 使用 CA 证书验证(推荐)option := tcvectordb.ClientOption{Timeout: 10 * time.Second,CACert: "/etc/ssl/vectordb/ca.pem", // 控制台下载的 CA 证书文件路径}client, err := tcvectordb.NewRpcClient("https://<内网 IP>:443", // 开启 SSL 后的 HTTPS 连接地址"root", // 数据库账号"eC4bLRy2va******************************", // API 密钥&option,)if err != nil {fmt.Printf("创建客户端失败: %v\\n", err)return}defer client.Close()fmt.Println("SSL 加密连接创建成功")}
关闭 SSL 加密
如果不再需要 SSL 加密功能,您可以在控制台关闭 SSL。
注意:
关闭 SSL 后,使用 SSL 加密连接的客户端将无法继续连接数据库。请确认相关业务已切换到非加密连接方式后,再执行关闭操作。
1. 登录 向量数据库控制台。
2. 在左侧实例列表中,找到目标实例,单击实例 ID,进入实例详情页面。
3. 选择数据安全页签,单击 SSL 加密右侧的
,关闭 SSL。

4. 在弹出的确认对话框中,确认关闭 SSL 的影响后,单击确定。
常见问题
开启 SSL 后,原有的 HTTP 连接是否会中断?
不会。开启 SSL 后,原有的非加密(HTTP)访问方式仍可继续使用。您可以根据业务需要,逐步将客户端迁移至 SSL 加密连接,无需一次性全部切换。
开启 SSL 会影响数据库性能吗?
会有小幅影响。SSL 加密需要在客户端和服务端之间进行 TLS 握手和数据加解密,会引入一定的 CPU 计算开销。对于大多数业务场景,性能影响在可接受范围内。建议在测试环境中提前验证。
如何确认 SSL 连接是否建立成功?
使用配置了
TLSConfig 的 SDK 客户端连接数据库后,如果能正常执行数据库操作(如查询集合列表),即表示 SSL 连接已建立成功。如果证书路径错误或未配置 TLS 参数,客户端将报连接错误。我的实例提示不支持 SSL,应该怎么办?
如果控制台的 SSL 连接页签提示"当前实例版本暂不支持 SSL 功能",建议您提交工单联系技术支持进行版本升级。升级完成后,即可在控制台开启 SSL 加密功能。
开启 SSL 后,可以同时使用 HTTP 和 HTTPS 方式连接吗?
可以。开启 SSL 后,实例同时支持 HTTP(端口80)和 HTTPS(端口443)两种连接方式。您可以根据不同的客户端需求选择合适的连接方式。