You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在NATS中使用TLS连接及证书配置相关技术咨询

关于NATS证书配置与创建的解答

一、你的理解是正确的

这段Go代码是NATS客户端通过证书建立安全连接的标准写法:

  • nats.ClientCert("client-cert.pem", "client-key.pem") 指定客户端的证书和私钥,用于服务器验证客户端身份
  • nats.RootCAs("rootCA.pem") 指定根证书,用于客户端验证服务器证书的合法性
    只要NATS服务器已配置对应TLS证书,这段代码就能建立加密且带身份验证的安全连接。

二、创建NATS所需证书的步骤

可以用openssl工具自行生成一套证书(适合测试或内部环境),步骤如下:

1. 生成根CA证书和私钥

# 生成带密码保护的根CA私钥(去掉-des3参数可生成无密码版本)
openssl genrsa -des3 -out rootCA.key 2048
# 生成根CA证书,有效期设为10年
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -out rootCA.pem

执行时需填写国家、组织等信息,根CA是整个证书链的信任起点,需妥善保管。

2. 生成服务器证书签名请求(CSR)和私钥

# 生成服务器私钥
openssl genrsa -out server.key 2048
# 生成服务器CSR
openssl req -new -key server.key -out server.csr

注意填写Common Name时,要与NATS服务器的域名/IP一致(比如localhost或实际服务器地址),否则客户端验证会失败。

3. 用根CA签署服务器证书

openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.pem -days 365 -sha256

4. 生成客户端证书签名请求(CSR)和私钥

# 生成客户端私钥
openssl genrsa -out client-key.pem 2048
# 生成客户端CSR
openssl req -new -key client-key.pem -out client.csr

5. 用根CA签署客户端证书

openssl x509 -req -in client.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out client-cert.pem -days 365 -sha256

生成完成后,将rootCA.pem、client-cert.pem、client-key.pem提供给客户端,将rootCA.pem、server.pem、server.key配置到NATS服务器的配置文件中,即可启用TLS安全连接。

内容的提问来源于stack exchange,提问作者Эдуард Воронцов

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 08:24:57