代码之家  ›  专栏  ›  技术社区  ›  Dave K

关于IIS中最大文件上载大小的建议

iis
  •  3
  • Dave K  · 技术社区  · 17 年前

    我认识到这个问题的答案取决于所使用的特定服务器,但我好奇人们是否对ASP.NET Web窗体允许的最大文件大小限制有建议。

    为一家印刷公司工作,该公司希望允许图形设计师上传。我知道他们会超过我给他们的极限…

    2 回复  |  直到 16 年前
        1
  •  4
  •   Sam    17 年前

    你需要让你的用户高兴-如果他们需要上传16MB以上的文件,那么这就是你要启用的功能。与他们交谈并建立一个大致的限制,如果可以的话,他们会对所涉及的文件大小有一个最好的想法-尽量坚持最小的、实用的值,不要直接进入300MB或更多。如果可以的话,一次也不允许多个上传。

    如果您只允许从某些页面上载,则可以使用web.config中的<location>元素来增加这些页面/目录的上载限制,而不是整个网站的上载限制-虽然它不会阻止DoS攻击,但它会减少此类攻击最可行的表面积,尽管您与无论如何都要面对这样的攻击。

    如:

    <location path="Upload.aspx">
        <system.web>
            <httpRuntime maxRequestLength="16384" /> <!-- 16MB -->
        </system.web>
    </location>
    
        2
  •  1
  •   Vinod T. Patil    16 年前

    另外,如果您要在iis7上部署站点,请记住iis7有其请求扫描机制,不允许最大请求内容长度超过30MB(默认情况下)。

    即使将网站或网页的maxrequestlength(web.config中)设置为大于30MB,iis7也不允许上载大于30MB的内容。您必须配置IIS以增加网站的默认内容长度限制。可以使用以下命令完成,

    appcmd set config "SiteName" -section:requestFiltering -requestLimits.maxAllowedContentLength:209715200 -commitpath:apphost 
    

    在上面的示例中,我将最大内容长度设置为200MB(209715200字节)。