产品定价 立即试用
PE边缘
文档 > 安全 > Edge over TLS/SSL
入门
安装 架构 API 常见问题
目录

基于 TLS/SSL 的 Edge

本指南介绍如何通过TLS/SSL上的gRPC连接,保护ThingsBoard与Edge实例之间的通信。

您可以通过两种方式配置SSL终结:使用平台内置的gRPC流量SSL能力,或使用外部负载均衡器作为终结点。

配置分为两部分:服务端(平台)和客户端(Edge)。

服务端SSL配置

请选择使用内置机制或负载均衡器来实现gRPC流量SSL终结,并通过下方切换查看对应说明。

按以下说明生成自己的证书文件。该方法适用于测试,但较耗时,不建议在生产环境使用。

生成私钥

使用以下命令生成新私钥,将创建 2048 位 RSA 私钥并保存到 privateKey.pem 文件:

1
openssl genpkey -algorithm RSA -out privateKey.pem -pkeyopt rsa_keygen_bits:2048

生成 CSR(证书签名请求)

接着使用私钥生成 CSR。 需要提供组织名称、Common Name(域名)和电子邮箱等信息,这些将包含在证书的 subject 字段中。 将 CSR 保存为 certRequest.csr

1
openssl req -new -key privateKey.pem -out certRequest.csr
文档警告图标

若 ThingsBoard 服务器在本地运行,生成证书时需将 Common Name(域名)设置为 localhost。 若服务器为托管部署,请使用其域名。

若证书域名与服务器主机名不匹配,SSL 连接将失败。

生成自签名证书

最后,通过 CSR 生成自签名证书。以下命令将生成名为 certFile.crt 的证书,有效期为 365 天。可修改 -days 参数以调整证书有效期:

1
openssl x509 -req -in certRequest.csr -signkey privateKey.pem -out certFile.crt -days 365

在服务器上启用 SSL 通信

对于 Ubuntu 和 CentOS/RHEL 安装,使用以下命令在服务端启用 SSL 通信:

1
2
3
4
5
sudo sh -c 'cat <<EOL >> /etc/thingsboard/conf/thingsboard.conf
export EDGES_RPC_SSL_ENABLED=true
export EDGES_RPC_SSL_CERT=certFile.crt
export EDGES_RPC_SSL_PRIVATE_KEY=privateKey.pem
EOL'

重启服务器以应用更改:

1
sudo systemctl restart thingsboard

本指南建议使用 HAProxy 作为平台的 SSL 终端。

若使用 Ubuntu Server,请按 此处具体步骤 操作。

若使用 CentOS/RHEL Server,请按 此处说明 操作。

配置Edge使用SSL连接

Ubuntu或CentOS/RHEL

要在Ubuntu或CentOS/RHEL安装的Edge上启用SSL通信,请执行以下命令:

1
2
3
sudo sh -c 'cat <<EOL >> /etc/tb-edge/conf/tb-edge.conf
export CLOUD_RPC_SSL_ENABLED=true
EOL'

若使用自签名证书,需要将服务器端公钥证书添加到Edge配置中以验证服务器证书:

1
2
3
sudo sh -c 'cat <<EOL >> /etc/tb-edge/conf/tb-edge.conf
export CLOUD_RPC_SSL_CERT=certFile.crt
EOL'

要应用这些更改,请重启Edge:

1
sudo systemctl restart tb-edge

Docker

在Docker部署中,请确保 docker-compose.yml 文件中的 CLOUD_RPC_SSL_ENABLED 变量设置为 ‘true’。 若使用自签名证书,也请相应设置 CLOUD_RPC_SSL_CERT

进行这些更改后,使用以下命令重启ThingsBoard Edge Docker容器:

1
docker compose restart mytbedge

下一步

  • Getting started guide(入门指南)- 快速概览 ThingsBoard Edge 主要功能。预计 15–30 分钟完成:

  • Installation guides(安装指南)- 了解如何在各种操作系统上安装 ThingsBoard Edge 并连接到 ThingsBoard Server。

  • Edge 规则引擎:

  • 功能:

    • Edge Status(Edge 状态)- 了解 ThingsBoard Edge 上的 Edge Status 页面。

    • Cloud Events(云端事件)- 了解 ThingsBoard Edge 上的 Cloud Events 页面。

  • 使用场景:

  • Roadmap(路线图)- ThingsBoard Edge 路线图。