近期做一个程序自动更新工具,当做到文件下载时发现IIS出于安全考虑对部分文件类型如:.config、.ini 等做了下载限制。

解决这个限制可以通过以下几个步骤处理:

一、在MIME类型中设置允许下载的文件类型



二、设置当前网站允许下载的文件类型注意:如果找不到“请求筛选”,就跳到下面的“三、改写Web.config”



经过上面的两个设置,IIS会对网站配置文件(Web.Config)的文件加入下面的代码:

经过上面两步的设置,文件的下载限制被解除了。


三、改写Web.config相当于手工完成上面的两个步骤,不是必要的

直接打开网站配置文件Web.config,加入下面的代码:

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
    <!--
        若要在调试过程中浏览 Web 应用程序根目录,请将下面的值设置为 True。
        在部署之前将该值设置为 False 可避免泄露 Web 应用程序文件夹信息。
      -->
    <directoryBrowse enabled="false" />

	<!-- 请求筛选,下面的设置告诉IIS取消扩展名的限制 -->
        <security>
            <requestFiltering>
                <fileExtensions>
                    <remove fileExtension=".config" />
                    <add fileExtension=".config" allowed="true" />
                </fileExtensions>
            </requestFiltering>
        </security>

	<!-- MIME类型, 下面的设置告诉IIS取消扩展名的限制 -->
        <staticContent>
            <mimeMap fileExtension=".config" mimeType="SmartSoft/配置文件" />
        </staticContent>
  </system.webServer>


注意:
1. Web.config这个文件不能下载。经过上面的设置也不能改变被禁止下载的扼运,估计是IIS写死了;
2.曾偿试用上面的方法对网站下面的子目录的Web.config(想将影响范围减到最小)但没有成功。

(完)



本文转载:CSDN博客