Azure函数消费计划:能否用域名白名单替代400+出站IP?
问题解答
核心结论
将Azure Function的域名<function-app-name>.azurewebsites.net加入第三方SFTP的白名单不可行,无法规避400+IP白名单、专用计划或虚拟网络配置的需求。
原因分析
- 消费计划下的Azure Function,其域名
<function-app-name>.azurewebsites.net对应的是入站访问的前端IP,而出站访问第三方SFTP时,使用的是该区域消费计划共用的公共IP池(即那400+个IP),二者完全分离。 - SFTP服务的IP白名单是基于请求源IP验证的,并非源域名。即使对方将你的Function域名加入白名单,SFTP服务器仍会校验实际的出站IP,而这个IP是从400+个池中随机选取的,域名解析无法覆盖这些IP,因此白名单域名无效。
低成本替代方案
如果不想切换到专用计划,可以考虑以下两种更可行的方式:
- 区域VNet集成+NAT网关:给消费计划的Function配置区域虚拟网络集成,将其接入Azure虚拟网络,再搭配NAT网关。此时Function的出站流量会通过NAT网关的固定IP发送,只需要让SFTP运维方白名单这1个(或少数几个)NAT网关IP即可,成本远低于专用计划。
- Azure Functions Premium Plan:这个计划的成本介于消费计划和专用计划之间,且提供固定的出站IP(最多5个),只需白名单这几个IP就能满足需求,同时保留消费计划的无服务器弹性特性。
内容的提问来源于stack exchange,提问作者Japun Japun
相关产品推荐
相关产品推荐

