【发布时间】:2018-07-11 19:26:27
【问题描述】:
我们在函数内部有一个带有 html UI 的 Azure 函数。 Azure 函数应用对我们防火墙内的服务器具有 VNET 访问权限。是否可以构建一个 Azure 函数来验证服务器/文件共享并允许浏览器用户下载安全的网络文件?
如果是这样,可以不创建新文件吗?
【问题讨论】:
标签: file download azure-functions fileshare vnet
我们在函数内部有一个带有 html UI 的 Azure 函数。 Azure 函数应用对我们防火墙内的服务器具有 VNET 访问权限。是否可以构建一个 Azure 函数来验证服务器/文件共享并允许浏览器用户下载安全的网络文件?
如果是这样,可以不创建新文件吗?
【问题讨论】:
标签: file download azure-functions fileshare vnet
如果您的 Azure Function 配置为位于 VNET 上,该 VNET 可为您提供对防火墙后面服务器的网络访问权限,那么这是可能的,但问题是您希望使用什么协议来访问这些文件? Azure Functions 在 has restricted outbound network port access 的应用服务“沙盒”内运行,这将阻止标准文件共享协议工作。如果您以某种方式通过 HTTP 公开本地文件,那么您就可以开展业务了。
一种简单的方法可能是将文件共享挂载为 IIS 虚拟目录。不过,您仍然必须考虑安全性。您将无法使用 Windows 身份验证,但您可以更改 IIS 虚拟目录以使用基本身份验证之类的东西,然后您的函数将配置为访问它所需的凭据。然后您进入传输级别的安全性,并意识到您需要使用 HTTPS,这意味着也需要设置一些证书。
另一个解决方案实际上是考虑使用Azure Files 将本地文件作为完全独立的集成实际同步到云中,然后像您的函数应用程序这样的系统实际上只担心通过 Azure 文件访问文件和那时甚至根本不必绑定到 VNET。
不过,我不确定您所说的“无需创建新文件即可”是什么意思。你能详细说明一下你的场景吗?如果您的意思是这样,您可能需要在您的应用程序中使用其他功能来执行文件传输的个人职责(例如处理 POSTs、GETs 等)。
【讨论】: