我们目前正在将旧的 ASP.net Web 应用程序从托管服务器 IIS7 迁移到 Azure。
在当前设置中,站点使用文件服务器上共享文件夹的 UNC 路径来访问文件服务器。
\\file-server\files-client
我们目前不想改变这种方法,因为这会使移动过程变得非常复杂。
我们已经设置了一个带有文件服务的 Azure 存储以及一个名为文件客户端的共享
通过设置凭据并通过
访问它,可以从虚拟机完美访问它\\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.
这告诉我应用服务看到了共享,但无权访问它。
我知道我们必须以某种方式授予应用服务对此存储的访问权限,但大量搜索网络告诉我,这是不可能完成的,我根本无法理解,希望我没有在正确的地方寻找。
问题是:如何在应用服务中设置凭据以使其访问我的存储共享?
非常感谢任何指导。
提前致谢
最佳答案
应用服务沙箱明确不允许访问 SMB 协议(protocol)所需的端口 (137/138/139/445)。
本文在“受限传出端口”下提到了它:https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox.
关于asp.net - 从 WebAppService 访问 Azure 文件共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54742707/