I recently ran into an issue where a user had uploaded an Outlook Message file to a web application. The users were reporting an error that each time they tried to click on a link to the .MSG file, the web browser would display an error message that the file had been moved or could not be found. This issue was happening across all web browsers, including Internet Explorer, Chrome, Firefox and Safari.
The web server was running Windows 2008 R2 Service Pack 1.
What I did not realize and was surprising to me was that a Mime Type is not defined by default for .MSG files in IIS, surprising because it is a Microsoft Outlook file extension and a Microsoft web server.
The fix was surprisingly simple. I logged into the web server and opened the IIS Manager.
I selected the Web server and clicked on the Mime Types icon.
Click the Add link and create the following new .msg Mime Type: application/vnd.ms-outlook
This immediately fixed the issue without an IISRESET or server reboot.
We had a reported application issue in which the user was receiving a “Request entity is too large” over SSL only. When accessing the same application with the same data over regular HTTP, everything worked fine.
Upon further research, we determined that over SSL, the entire request entity body must be preloaded during negotiation. In addition, SSL will use the value of the UploadReadAheadSize metabase property to validate the request size. http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/7e0d74d3-ca01-4d36-8ac7-6b2ca03fd383.mspx?mfr=true
The UploadReadAheadSize metabase property specifies the number of bytes that a Web server will read into a buffer and pass to an ISAPI extension or module. This occurs once per client request. The ISAPI extension or module receives any additional data directly from the client.
To fix this issue, the UploadReadAheadSize metabase property value needs to be increased. Please note that the default value for the UploadReadAheadSize is 49152. The maximum size for this property is 2147483647.
In this example, we will increase the value to “204800”.
- On the web server, open the command prompt Run –> CMD.EXE.
- Change directories to the C:WindowsSysWOW64inetsrv (assumes 64-bit) –> CD C:WindowsSysWOW64inetsrv
- Determine the current metabase property value: appcmd.exe list config –section:system.webServer/serverRuntime
- Increase the metabase property value: appcmd.exe set config -section:system.webServer/serverRuntime /uploadReadAheadSize:”204800″