You need to enable JavaScript to run this app. 如何通过AWS EC2 Ubuntu实例的公共IP访问ThingsBoard
优惠活动
大模型
产品
解决方案
定价
更多

如何通过AWS EC2 Ubuntu实例的公共IP访问ThingsBoard

通过EC2公网IP访问已安装ThingsBoard的配置步骤

1. 调整ThingsBoard服务的网络监听配置

服务默认绑定本地回环地址是公网访问失败的最常见原因,外部流量根本无法触达服务进程:

  • 打开ThingsBoard主配置文件:sudo nano /etc/thingsboard/thingsboard.conf
  • 定位到HTTP_BIND_ADDRESS参数,确保参数值为0.0.0.0
    • 如果值为127.0.0.1,服务只会响应来自实例本身的localhost请求,所有外部流量都会被直接忽略
  • 确认HTTP_PORT参数值和预期一致,默认不修改的话是80端口
  • 保存修改后重启ThingsBoard服务使配置生效:sudo systemctl restart thingsboard
  • 执行ss -tulnp | grep java校验监听状态,只要输出里显示监听地址为0.0.0.0:对应端口就代表服务端配置正确

2. 配置EC2安全组入站放行规则

AWS安全组是实例层面的网络防火墙,默认不会开放Web端口给公网访问:

  • 在EC2控制台找到当前实例关联的安全组,进入入站规则编辑页
  • 新增匹配的入站规则:
    • 协议选TCP,端口填ThingsBoard实际使用的Web端口(默认是80)
    • 来源可根据实际使用场景选择:临时测试可填0.0.0.0/0允许所有IPv4访问,有固定访问IP的话建议把来源限制为对应IP段,降低服务暴露风险
  • 保存规则后即时生效,不需要重启实例

3. 放行Ubuntu本地防火墙拦截

如果实例开启了UFW防火墙,即使安全组放行了端口,本地系统也会拦截外部请求:

  • 执行sudo ufw status查看防火墙运行状态
  • 如果状态为激活,执行命令放行ThingsBoard端口:
    • 80端口对应命令:sudo ufw allow 80/tcp
    • 自定义端口的话把端口号替换为实际值即可
  • 执行sudo ufw reload让规则生效

访问验证

完成以上配置后,直接在本地浏览器输入EC2实例的公共IPv4地址,即可直接加载ThingsBoard登录页面。
如果遇到访问异常:

  • 页面持续加载超时:优先检查安全组的端口、来源范围配置是否正确
  • 页面提示连接被拒绝:回到第一步确认ThingsBoard服务运行状态、监听地址是否正确

内容的提问来源于stack exchange,提问作者Majdi Chebil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.27 23:54:03