GitHub Action工作流中Kong Deck Ping连接失败求助
问题分析与解决方案
你遇到的核心问题是GitHub托管的Runner无法访问你的内网Kong实例:
- 手动执行时用的内网IP
172.28.12.124仅在你的本地/私有网络内有效; - GitHub官方的
ubuntu-latestRunner运行在GitHub云环境中,属于外部网络,无法直接打通到你的内网地址,因此出现连接超时错误。
可行解决办法
1. 将Kong暴露到公网并使用公网地址
- 给Kong实例配置公网IP或可解析的域名,确保管理端口
8001对外开放(注意启用Kong Admin API认证保障安全); - 在GitHub Action的
deck ping命令中替换为公网地址,示例:deck ping --kong-addr https://your-public-kong-domain:8001
2. 使用自托管Runner
- 在能访问内网Kong的机器上部署GitHub自托管Runner(本地服务器、虚拟机均可);
- 修改Action的job配置,指定使用自托管Runner:
此时Runner运行在你的内网环境中,就能直接访问jobs: build: runs-on: self-hosted # 替换为自托管Runner的标签或自定义名称 # 后续步骤保持不变172.28.12.124:8001。
3. 内网穿透(临时测试用)
如果只是临时验证,可使用内网穿透工具(如ngrok)将Kong的8001端口映射到公网,再在Action中使用穿透后的地址。但该方式安全性、稳定性不足,不建议生产环境使用。
内容的提问来源于stack exchange,提问作者Mithun Walawalkar
相关产品推荐
相关产品推荐

