问题概述
Azure Function App一旦集成到VNET中且WEBSITE_VNET_ROUTE_ALL设置为1,就无法访问。
这是必需的,这样Function App可以安全地连接到SQL,而不必使SQL公开可用。
错误:
无法列出功能应用程序键。
来自同一网络中VM的HTTP请求(CURL)失败:504网关超时
建筑图
复制步骤
通过到Function App的SSH连接并使用nslookup,我们确定到私有链接的连接可以按预期解析SQL数据库的本地IP地址。
将WEBSITE_VNET_ROUTE_ALL标志设置为0,nslookup解析SQL数据库的公共IP。
由于SQL数据库受到限制并且仅在网络上可用,因此将WEBSITE_VNET_ROUTE_ALL设置设置为1是至关重要的。
WEBSITE_VNET_ROUTE_ALL = 1
WEBSITE_VNET_ROUTE_ALL = 0
参考
https://docs.microsoft.com/en-us/azure/app-service/web-sites-integrate-with-vnet
答案 0 :(得分:2)
此问题通过在Function App子网中添加“ Microsoft.Storage”服务终结点来解决。
所有流量都发送到vnet后,它需要一个服务端点到Storage,以便可以读取Function App的配置和功能。