1

我最近将一个相当大的网站迁移到 Azure。

我知道这不是最佳做法,但该站点配置为将机密文件存储在内容文件夹中,该文件夹在 IIS 中配置为全部拒绝。

但是,当我尝试在所述文件夹中添加 web.config 时,Azure 在直接访问文件时会忽略拒绝条目。我尝试了不同的配置组合,没有给出任何结果。

 <system.webServer>
  <security>
      <authorization>
          <remove users="*" roles="" verbs="" />
      </authorization>
  </security>
</system.webServer>

<security>
 <ipSecurity allowUnlisted="false">            
 </ipSecurity>
</security>

但是,如果我将无效的 web.config 上传到该文件夹​​,该站点将引发错误并且不提供任何服务。

4

1 回答 1

2

您将不得不将这些文件从实例中移出并将它们放在其他地方(blob 存储是一个不错的选择)。

您正在做的事情在网络农场场景中根本无法正常工作。如果没有一些真正疯狂的解决方法,将文件存储在网站的单个实例上对于网络农场来说是不可行的。尽管从技术上讲,您可以使用单个持久性 VM 来执行此操作,但您不会在单个实例上运行一个非常可扩展的网站。

将文件复制到 blob 存储中,并使用首先检查安全性然后流式传输和/或为存储中的 blob 生成 SAS 签名的方法替换对它们的直接调用。

于 2012-09-20T14:41:04.410 回答