2012-09-19 59 views
1

我最近将一个相当大的网站迁移到了Azure。拒绝访问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文件夹,该网站将引发错误,并没有什么服务。

+0

您使用WIndows Azure云服务吗?网站?还是虚拟机? – BrentDaCodeMonkey

回答

2

您将不得不将这些文件从实例中移出并放到其他位置(blob存储是个不错的选择)。

在网络场场景中,您所做的工作根本无法正常工作。没有一些非常疯狂的解决方法,将文件存储在网站的单个实例上对于webfarms来说是行不通的。尽管您可以在技术上使用单个持久虚拟机执行此操作,但您不会在单个实例上运行可伸缩网站。

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

+0

非常有意义。 – rodael