1

我们在函数内部有一个带有 html UI 的 Azure 函数。Azure 函数应用对我们防火墙内的服务器具有 VNET 访问权限。是否可以构建一个 Azure 函数来验证服务器/文件共享并允许浏览器用户下载安全的网络文件?

如果是这样,可以不创建新文件吗?

4

1 回答 1

0

如果您的 Azure Function 配置为位于 VNET 上,该 VNET 可以让您获得对防火墙后面的服务器所需的网络访问权限,那么这是可能的,但问题是您希望使用什么协议来访问这些文件?Azure Functions 在应用服务“沙盒”内运行,该服务限制了出站网络端口访问,这将阻止标准文件共享协议工作。如果您以某种方式通过 HTTP 公开本地文件,那么您就可以开展业务了。

一种简单的方法可能是将文件共享挂载为 IIS 虚拟目录。不过,您仍然必须考虑安全性。您将无法使用 Windows 身份验证,但您可以更改 IIS 虚拟目录以使用基本身份验证之类的东西,然后您的函数将配置为访问它所需的凭据。然后您进入传输级安全性并意识到您将要使用 HTTPS,这也意味着设置一些证书。

另一个解决方案实际上是考虑使用Azure Files将本地文件作为完全独立的集成实际同步到云中,然后像这里的函数应用程序这样的系统实际上只担心通过 Azure Files 访问文件,甚至不需要那时必须必须绑定到 VNET。

不过,我不确定“可能不创建新文件”是什么意思。你能详细说明一下你的场景吗?如果这就是您的意思,您可能需要应用程序中的其他功能来执行文件传输的个人职责(例如句柄POSTs、GETs 等)。

于 2018-02-01T18:19:55.520 回答