[英]Azure Deployment Firewall Problems
我想通過VS 2017發布我的Azure函數。
它可以正常工作,但是在激活鏈接的存儲帳戶上的防火牆之后,我將無法再部署項目。 我已經檢查過FW-Settings,看起來還可以(沒有代理等)。
我收到一些ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER錯誤。
從主題給出的建議對我不起作用。 無法通過VS2010使用發布在Windows Azure上發布網站 。
還有其他建議嗎?
解:
創建一個存儲帳戶,該帳戶與功能應用程序不在同一區域。 例如,如果您的職能部門位於Central US
,則存儲帳戶應選擇其他帳戶,例如East US
。 然后使用新創建的存儲帳戶連接字符串修改以下三個參數(在“應用程序設置”中)。
使用Function應用程序的出站IP地址配置其防火牆。
在“功能”應用程序的“平台功能”面板上,單擊“資源管理器”。
查找outboundIpAddresses並將它們全部添加到防火牆IP列表中。
如果要使用Azure Portal訪問存儲帳戶,請不要忘記添加本地IP。 (對於從VS部署而言,不是必需的)。
說明:
只能為消費計划中托管的功能復制INSUFFICIENT_ACCESS。
關於此問題,應用程序服務和消費計划之間的最大區別在於它們托管功能文件的方式。
對於App服務計划,我們在門戶上發布或創建的功能文件存儲在某些Azure服務器上。 將防火牆設置添加到AzureWebJobsDashboard
(在表中存儲功能日志)和AzureWebJobsStorage
(在容器中存儲功能主機鎖)使用的“存儲帳戶”中,對功能部署沒有影響。
對於消耗計划,功能文件存儲在WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
指定的存儲帳戶上。 當我們從VS發布或在門戶網站上創建功能時,功能文件將從功能站點部署到存儲帳戶。 我們沒有將功能應用程序IP添加到存儲防火牆白名單中,所以遇到了錯誤。
至於為什么我們必須在與Function應用程序不同的區域中創建存儲,根據我的測試,當它們兩個位於同一區域時,function似乎沒有利用出站IP。 看到有人在GitHub上得到了相同的結果 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.