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

GCE部署TabPy后外部无法访问端口的问题求助

排查GCE上TabPy外部访问失败的问题

以下是针对你遇到的内部可访问、外部无法连接问题的排查步骤:

1. 检查TabPy的绑定地址

TabPy默认可能仅绑定127.0.0.1(仅允许本地访问),需要确认它是否监听在0.0.0.0(允许所有网卡访问):

  • 在GCE虚拟机上执行命令:netstat -tulpn | grep 9004 或 ss -tulpn | grep 9004
  • 如果输出显示127.0.0.1:9004,说明仅本地可访问,需要修改TabPy配置或启动参数:
    • 方式一:启动TabPy时添加--host 0.0.0.0参数,比如:tabpy --host 0.0.0.0
    • 方式二:在TabPy配置文件的[TabPy]段下添加TABPY_HOST = 0.0.0.0,重启TabPy服务

2. 检查虚拟机本地防火墙

GCE的外部防火墙规则生效后,虚拟机自身的本地防火墙(如ufw、iptables)可能仍会拦截流量:

  • 对于Ubuntu/Debian系统,检查ufw状态:sudo ufw status
    • 如果9004端口未被允许,执行:sudo ufw allow 9004/tcp
  • 对于CentOS/RHEL系统,检查firewalld状态:sudo firewall-cmd --list-ports
    • 如果没有9004端口,执行:sudo firewall-cmd --add-port=9004/tcp --permanent,然后sudo firewall-cmd --reload

3. 验证GCE防火墙规则的有效性

从截图看你已配置9004端口的入站规则,需确认规则是否正确应用到目标虚拟机:

  • 登录GCE控制台,进入目标虚拟机详情页,检查标签是否与防火墙规则的目标标签匹配(如果规则设置了特定标签)
  • 如果防火墙规则的目标是“所有实例”,确认规则的来源IP范围是否包含你外部设备的公网IP(测试阶段可临时设置为0.0.0.0/0允许所有外部访问)
  • 再次确认规则的方向为“入站”,协议/端口为tcp:9004

4. 确认静态IP的关联状态

  • 登录GCE控制台,进入VPC网络 > 外部IP地址页面,确认你的静态IP地址的关联到的实例是目标虚拟机,状态为“已使用”

5. 测试外部网络连通性

  • 在外部设备上执行telnet 34.94.193.185 9004或nmap -p 9004 34.94.193.185,确认是否能建立连接
  • 如果仍无法连接,检查你的本地网络是否有防火墙或代理拦截了9004端口的出站流量

后续SSL配置提示(对接Tableau Cloud)

待外部访问问题解决后,你需要配置SSL证书使TabPy支持HTTPS:

  • 准备PEM格式的证书和密钥文件
  • 在TabPy配置文件中取消以下注释并填写正确路径:
    TABPY_TRANSFER_PROTOCOL = https
    TABPY_CERTIFICATE_FILE = /path/to/your/certificate.crt
    TABPY_KEY_FILE = /path/to/your/private.key
    
  • 重启TabPy服务,确保HTTPS端口(默认443或自定义端口)在GCE防火墙和本地防火墙中都已开放

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 14:45:04