从 WebAppService 访问 Azure 文件共享
Posted
技术标签:
【中文标题】从 WebAppService 访问 Azure 文件共享【英文标题】:Access Azure Files Share from WebAppService 【发布时间】:2019-07-11 13:36:54 【问题描述】:我们目前正在将旧的 ASP.net Web 应用程序从托管服务器 IIS7 移动到 Azure。
在当前设置中,站点使用文件服务器上共享文件夹的 UNC 路径访问文件服务器。
\\file-server\files-client
目前,我们确实不想改变这种方法,因为它会使移动过程大大复杂化。
我们已经建立了一个带有文件服务的 Azure 存储和一个名为 files-client 的共享
这可以通过设置凭据并通过
从 VM 完美访问\\storageaccount.file.core.windows.net\files-client
但是
我们真的希望这个网站作为 Web 应用服务运行,因为它给我们带来了许多优势。
我们已经建立了一个应用服务,已经发布了 Web 应用程序,一切都运行良好,包括数据库访问等。
不幸的是,当 Web 应用程序尝试使用
访问文件共享时,我们的运气就用完了\\storageaccount.file.core.windows.net\files-client\test.jpg
我们得到一个访问错误:
Access to the path '\\storageaccount.file.core.windows.net\files-client\test.jpg' is denied.
这告诉我应用服务看到了共享但无权访问它。
我知道我们必须以某种方式授予应用服务访问此存储的权限,但是在网上搜索密集告诉我这无法完成,我根本无法理解,希望我没有找对地方。
问题是:如何在应用服务中设置凭据以使其访问我的存储共享?
非常感谢任何指导。
提前致谢
【问题讨论】:
【参考方案1】:应用服务沙盒明确不允许访问 SMB 协议所需的端口 (137/138/139/445)。
本文在 Restricted Outgoing Ports 下提到它:https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox.
【讨论】:
感谢您的解释。我很害怕,但是如果端口被阻止,为什么我会收到拒绝访问错误而不是找不到资源错误?以上是关于从 WebAppService 访问 Azure 文件共享的主要内容,如果未能解决你的问题,请参考以下文章
通过 Azure Devops 将 .Net Core 3.1 Web 应用程序部署到 Azure Linux Web 服务时出错
从 Azure Functions 访问 Azure Key Vault 时访问被拒绝