如何解决Azure Data Factory本地REST API链接服务连接被拒问题
解决ADF自托管集成运行时连接本地REST API的问题
具体排查与修复步骤
1. 修改Flask API的绑定地址
Flask默认仅绑定127.0.0.1,这意味着只有本机进程能访问该API。哪怕自托管IR和API在同一台机器,作为独立进程也可能无法通过localhost访问。修改启动代码,让API监听机器上所有可用网络接口:
if __name__ == '__main__': app.run(host='0.0.0.0', port=8080)
2. 验证自托管IR的运行环境
- 在IR安装的机器上,用
curl http://localhost:8080或浏览器直接访问API,确认API本身能正常返回结果,排除API自身故障。 - 检查IR服务的运行账号权限:如果API有访问限制(比如需要特定用户权限),确保IR服务使用的账号具备访问API的权限。
3. 调整防火墙规则细节
- 不要只配置8080端口的入站规则,还要检查出站规则:有时候是IR进程的出站请求被防火墙拦截,需要添加允许IR访问8080端口的出站规则。
- 入站规则的适用范围要覆盖IR的访问来源:测试阶段可以先允许本地所有连接,确认能正常连接后再缩小规则范围。
4. 修正ADF链接服务的配置
- 错误信息里的端点
http://local host:8080存在空格,这会导致地址解析失败,修正为http://localhost:8080或机器的局域网IP(比如http://192.168.x.x:8080)。 - 确认链接服务中选择的是你创建的自托管IR实例,避免选错导致连接失败。
5. 尝试用局域网IP代替localhost
将API端点替换为机器的局域网IP(如http://192.168.1.100:8080),有时候自托管IR会把localhost解析为自身的回环地址,用局域网IP能避免这类进程隔离导致的访问问题。
内容的提问来源于stack exchange,提问作者Ajax
相关产品推荐
相关产品推荐

