如何从Basic层Azure Function App访问无公网权限的VNET集成App Service?
解决方案
针对Basic层Function App无法集成VNET、需访问VNET内禁止公网的App Service的场景,以下是可行解决方法:
方法1:Azure Private Link私有端点方案
- 为目标App Service创建私有端点:
- 进入目标App Service的「网络」>「私有端点连接」,添加私有端点,选择对应VNET和子网
- 确保自动关联
privatelink.azurewebsites.net私有DNS区域,完成DNS解析配置
- 让Function App能解析私有IP:
- 将私有DNS区域链接到Function App所在的网络环境,或在Function App应用设置中配置自定义DNS指向私有DNS服务器
- 验证:此时Function App请求App Service域名会解析到私有IP,通过Private Link通道访问,不会触发公网IP拦截
方法2:Azure Relay Hybrid Connections方案(Basic层支持)
- 在目标App Service中创建Hybrid Connection:
- 进入「网络」>「Hybrid Connections」,添加新连接,关联目标VNET(无Relay命名空间则先创建)
- 在Function App中添加该Hybrid Connection:
- 进入Function App的「网络」>「Hybrid Connections」,选择已创建的连接完成添加
- 调整请求方式:Function App直接请求App Service的内部地址,请求会通过Relay转发至VNET内的目标服务
方法3:Azure API Management中转方案(适合已有APIM的场景)
- 将APIM集成到目标VNET:配置为「内部VNET模式」,使其可直接访问VNET内的App Service
- 在APIM中创建API,设置后端为目标App Service
- 为Function App分配Managed Identity,并授权其访问APIM的API
- Function App调用APIM的API,由APIM中转请求到VNET内的App Service
内容的提问来源于stack exchange,提问作者ddomeb
相关产品推荐
相关产品推荐

