IIS Large File Upload Debugging Guidelines


By default, IIS web server allows for limited file size to be uploaded to the web server. For IIS 6 and IIS 7, the default maximum file upload size is 4 MB and 28.6 MB respectively. In order to allow for larger file size uploads, a few server changes are required.

In some situations, you may still cannot upload large files even you've modified the settings of your server as required. The following guidelines provide several techniques for debugging this issue.

1. Required

For IIS 7, you need to modify the requestLimits attribute, maxAllowedContentLength. maxAllowedContentLength specifies the maximum length of content in a request, in bytes. See the Large File Upload in IIS 7.0+ for more details.

For IIS 6, you need to modify httpRuntime, maxRequestLength. The attribute maxRequestLength specifies the maximum file upload size in KB. See the Large File Upload in IIS 6.0 and 5.0 for more details.

2. Microsoft URLScan

If you are using Microsoft URLScan, there is a file size limit in its configuration as well. To make changes to that, you need to edit the file "UrlScan.ini" located (typically) at: C:\WINDOWS\system32\inetsrv\urlscan and change the value for "MaxAllowedContentLength" to your desired max file size value.

3. CloudFlare CDN

If you are using CloudFlare CDN (Content Delivery Network), there is a file size limit in its configuration as well. The default maximum file upload size of CloudFlare is 50 MB. CloudFlare returns a 413 error (413 Request Entity Too Large) if someone uploads something larger than 50MB. Unfortunately, CloudFlare doesn't allow the site owner configure this limit. For more information, please check here. Other CDN providers may have the similar upload limits.

4. Windows Firewall or network monitoring software

If you are using any third party network monitoring software you should ensure that it is properly configured to allow file uploads with the needed length and content.

5. File upload debug file

Please download the file upload debug file from here. Then run this file on your own server. This file will return the detailed error message which will help your debugging process.