产品定价 立即试用
PE边缘
文档 > 配置指南 > Edge代理后安装
入门
安装 架构 API 常见问题
目录

在代理后安装 Edge

概述

代理服务器后部署 Edge,意味着 Edge实例 无法直接访问互联网,与 ThingsBoard Cloud 或其他外部服务的通信都需经由代理转发。

对比:

  • Without Proxy(直连):

Without Proxy

  • With Proxy(经代理连接):

With Proxy

使用代理服务器可通过流量过滤与监控提升安全性。在受限网络中,直接访问互联网通常被禁止,因此代理配置往往是满足安全策略的必要条件。

除安全性外,代理还能缓存资源,显著降低网络开销,并提升ThingsBoard Edge等分布式系统的整体性能。

安装指南

前提条件

  • 具备代理服务器(HTTPHTTPS),含地址、端口及凭据(如需)。
  • 明确需绕过代理的地址(如内网资源)。
  • 已安装 Java 17
  • 已安装并运行 ThingsBoard Edge

步骤 1. 修改配置文件

在基于 Debian 的安装(如 Ubuntu)中配置代理后的 ThingsBoard Edge,请修改 tb-edge.conf 文件:

1
2
3
4
5
6
7
8
sudo tee -a /etc/tb-edge/conf/tb-edge.conf > /dev/null <<EOL
#Enable the proxy
export CLOUD_RPC_PROXY_ENABLED=true

#Set the proxy server host and port
export CLOUD_RPC_PROXY_HOST="proxy_host"
export CLOUD_RPC_PROXY_PORT="proxy_port"
EOL
  • proxy_hostproxy_port 替换为代理的主机名和端口。
  • 若有需绕过代理的主机(如内网地址),按格式设置 :localhost|127.0.0.1|yourdomain.com
配置认证(如需)

若代理需认证,添加以下参数:

1
2
3
#(Optional) Add authentication if required
export CLOUD_RPC_PROXY_USERNAME="proxy_username"
export CLOUD_RPC_PROXY_PASSWORD="proxy_password"
  • proxy_userproxy_password 替换为实际凭据。
验证更改(可选)

运行以下命令验证更改:

1
cat /etc/tb-edge/conf/tb-edge.conf

步骤 2. 重启 ThingsBoard Edge

修改 tb-edge.conf 后需重启服务使更改生效:

1
sudo service tb-edge restart

Edge 服务启动后,在 http://localhost:8080 打开 Edge UI,使用 租户凭据 登录。

文档信息图标

若 Edge 安装时将 HTTP 绑定端口改为 18080,请通过 http://localhost:18080 访问 ThingsBoard Edge 实例。

故障排查

ThingsBoard Edge 日志存放在以下目录:

1
/var/log/tb-edge

检查服务端是否有错误:

1
cat /var/log/tb-edge/tb-edge.log | grep ERROR

检查连通性:

1
curl -x http://proxy_host:proxy_port https://your_tb_cloud_url
  • proxy_hostproxy_port 替换为代理的主机名和端口。

确认服务可到达代理服务器:

1
2
ping proxy_host
traceroute proxy_host
  • proxy_host 替换为代理的主机名。

下一步

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

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

  • Edge 规则引擎:

  • 安全:
    • gRPC over SSL/TLS - 了解如何为 Edge 与云端之间的通信配置 gRPC over SSL/TLS。
  • 功能:

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

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

  • 使用场景:

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

前提条件

  • 具备代理服务器(HTTPHTTPS),含地址、端口及凭据(如需)。
  • 已安装并运行 ThingsBoard Edge,且可访问 ThingsBoard Cloud
  • 本机已安装 DockerDocker Compose
文档信息图标

进行代理配置前,请将终端切到包含 docker-compose.yml 文件的目录。

步骤 1. 停止 Docker 容器

停止当前运行的 TB Edge 容器(若仍在运行):

1
docker compose stop

步骤 2. 修改 .yml 文件

docker-compose.yml 中填入代理设置。

打开文件可使用:

1
sudo nano docker-compose.yml

将以下行写入文件的 “environment” 块:

1
2
3
      HTTP_PROXY: http://proxy_user:proxy_password@<proxy_host:proxy_port
      HTTPS_PROXY: http://proxy_user:proxy_password@<proxy_host:proxy_port
      NO_PROXY: localhost,127.0.0.1,postgres,PUT_YOUR_CLOUD_IP
  • HTTP_PROXYHTTPS_PROXY 行分别指定 HTTPHTTPS 代理服务器
    • 例如:HTTP_PROXY=http://user:password@proxy.example.com:8080
  • NO_PROXY 行列出需绕过代理的地址
    • 例如:NO_PROXY=localhost,127.0.0.1,postgres,thingsboard.cloud

预期结果:

步骤 3. 重启容器

启动此 docker compose,执行以下命令:

1
docker compose up -d && docker compose logs -f mytbedge

Edge 服务启动后,在 http://localhost:8080 打开 Edge UI,使用 租户凭据 登录。

文档信息图标

若 Edge 安装时将 HTTP 绑定端口改为 18080,请通过 http://localhost:18080 访问 ThingsBoard Edge 实例。

故障排查

确认 docker-compose.yml 中的代理环境变量已正确设置:

1
2
3
echo $HTTP_PROXY
echo $HTTPS_PROXY
echo $NO_PROXY

若变量未设置,检查容器内是否已正确应用:

1
docker exec -it container_name printenv | grep -i proxy

若缺失,确保在 docker-compose.yml 中正确定义。

容器运行后,验证其是否可通过代理访问互联网:

1
docker exec -it container_name curl -I https://google.com

若请求失败,可能表示代理配置错误或网络问题。

检查 Docker 容器日志以查找其他代理相关错误:

1
docker logs container_name

检查连通性:

1
curl -x http://proxy_host:proxy_port https://your_tb_cloud_url

下一步

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

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

  • Edge 规则引擎:

  • 安全:
    • gRPC over SSL/TLS - 了解如何为 Edge 与云端之间的通信配置 gRPC over SSL/TLS。
  • 功能:

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

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

  • 使用场景:

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