Azure文件预览-访问IIS和FileZilla中的共享文件夹
我对Azure中2+Windows虚拟机的负载平衡感兴趣。不过,我的主要要求是“上传”文件夹需要在每个VM之间保持一致。该文件夹中的文件由我们的管理员用户FTPed,然后他们需要在C#MVC Web应用程序中选择这些文件。由于您可以通过FTP连接到一个VM,但Web连接可能连接到另一个VM,因此上载必须集中 看起来新的Azure文件(目前正在预览中)会有所帮助,因为它们让我设置了一个每个虚拟机都可以访问的共享驱动器。我的想法是FileZilla服务器将允许FTPing到这个共享“驱动器”,Web应用程序将访问它以显示内容 我已经注册了Azure文件预览,并设置了共享,为了实验起见,我一直将其映射到驱动器Z。我还创建了一个新用户,并确保他们也具有与Z相同的驱动器的持久映射 但在远程桌面之外,我似乎什么都做不了。尽管FileZilla的服务设置为使用此新帐户登录,但它不会显示此驱动器的内容,也不会向其写入任何内容。同样,我的Web应用程序无法访问文件内容,尽管已将直通身份验证切换到虚拟文件夹的此新帐户 是否有人知道通过网络路径或驱动器号访问此驱动器的任何方法?对于Azure文件,这是不可能的吗?有没有其他解决方案可以跨虚拟机共享某些blob,但将其视为本地驱动器或网络共享 [更新] 这可能会有帮助。设置了共享,并在cmd提示符中以特殊创建的用户身份运行时使用了cmdkey和net use(如中所建议),如果我使用创建的特定帐户和测试连接将IIS中的虚拟文件夹指向此共享,我将获得: 测试:身份验证(绿色勾选:“指定的用户凭据有效”) 测试:授权(红十字会;“路径不存在或无法扩展路径中的环境变量以验证其是否存在。”)Azure文件预览-访问IIS和FileZilla中的共享文件夹,azure,azure-virtual-machine,network-shares,Azure,Azure Virtual Machine,Network Shares,我对Azure中2+Windows虚拟机的负载平衡感兴趣。不过,我的主要要求是“上传”文件夹需要在每个VM之间保持一致。该文件夹中的文件由我们的管理员用户FTPed,然后他们需要在C#MVC Web应用程序中选择这些文件。由于您可以通过FTP连接到一个VM,但Web连接可能连接到另一个VM,因此上载必须集中 看起来新的Azure文件(目前正在预览中)会有所帮助,因为它们让我设置了一个每个虚拟机都可以访问的共享驱动器。我的想法是FileZilla服务器将允许FTPing到这个共享“驱动器”,Web
在runas cmd提示符下,我可以访问共享,因此这不是特定的权限问题。由于某种原因,IIS似乎无法使用该用户访问共享。Azure文件的限制是,我无法专门授予该共享中文件夹的任何类型的权限。对我有效的方法如下:
加载用户配置文件
属性设置为true/persistent:true
开关)这里的答案证明是有用的 安装程序
您是否试图在虚拟机之外通过FileZilla访问文件服务共享?否,@GauravMantri,FileZilla服务器作为虚拟机的FTP服务器在虚拟机上运行。它可以很好地访问VM的内置文件空间,因此我知道端点很好。FileZilla正在工作:它不会列出Azure文件共享的内容,也不会写入它。IIS也无法读取内容。Steve,您是否按照Azure指南遵循了有关如何持久化凭据的指南?当交互式桌面会话未运行时,您的问题听起来像是一个提示不起作用的问题。我还要检查Windows用户是否有作为服务登录的权限。@SimonW是的,我已经这样做了。我的理解是,这是一个每个用户的进程,因此不会自动使Z对IIS或FileZilla用户可用,因此我还以各自用户的身份在提示符运行时重复了这些命令,并确保在IIS中使用我创建的用户对虚拟文件夹进行身份验证,而不是传递。我可以从远程桌面查看驱动器/共享,但FileZilla和IIS似乎无法查看。@SteveOwen您在这方面成功了吗?对于如此详细的答复,我仍停留在同样的问题上,但这对我也不起作用。我的代码无法读取该文件夹,当我在虚拟文件夹上使用测试连接时,IIS管理器的身份验证再次显示绿色勾号(“指定的用户凭据有效”),但授权显示红色十字(“应用程序池标识无法访问路径”)。一切看起来都很好:cmdkey已设置并确认,当以我的用户身份运行时,可以通过cmd提示符进行访问。进程列表显示w2wp.exe以我的用户身份运行。我可以说这个解决方案确实有效。在IIS中测试虚拟目录时,只需忽略红十字授权即可。在那之后,我可以访问Azure文件。我也有同样的问题,无法访问驱动器。进一步的信息。我编写了一个测试页面,它执行cmdkey/list并输出浏览器。我获得“当前存储的凭据:*N”
File.WriteAllText("\\\\{storage-account}.file.core.windows.net\\share\test.txt", "contents goes here");