Archives For IIS


Troubleshooting – IIS RequestFiltering

The Microsoft Azure App Service can host Web Apps that are built using various stacks. Although we aren’t using .NET for our App, it’s important to remember that this service uses IIS to route traffic to the underlying Application Servers. Whether we’re using PHP or Java, we need to be familiar with the Web.Config. This file has its origins in ASP.NET and is used to configure the IIS pipeline.

If you’re uploading resources through your Web App, chances are that you’ve observed the following error message.

The request filtering module is configured to deny a request that exceeds the request content length.

Web.Config Example

This example, configures both the maximum request length and the maximum content length. This file must be placed at the root App.

<?xml version="1.0"?>
<configuration>
  <system.web>
    <!-- maxRequestLength is in kilobytes (KB)  -->
    <httpRuntime maxRequestLength="4194303" />
  </system.web>
  <system.webServer>
    <security>
      <requestFiltering>
        <!-- maxAllowedContentLength is in bytes (B)  -->
        <requestLimits maxAllowedContentLength="4294967295"/>
      </requestFiltering>
    </security>
  </system.webServer>
</configuration>

Things That we Should Keep in Mind

  • maxRequestLength is in kilobytes (KB)
  • maxQueryString is in bytes (B) and of type uint. Its default value is 2048
  • maxUrl is in bytes (B) and of type uint. Its default value is 4096
  • maxAllowedContentLength is in bytes (B) and its default value is 30000000, which is about 28.61 MB. Its type is uint, and its max value is 4,294,967,295 bytes = 3,99 GB

Resources


image When ever you have admin rights to your computer, be sure to run Visual Studio as Administrator. This will greatly reduce the number of headaches cause by tools who don’t react the way you expect them to.

Visual Studio is quirky when it comes to user rights. In some cases, it will misbehave and you might not notice it. One example of this can be observed when you are working with Coded UI Tests (CUIT), when Visual Studio is not running as Administrator, the recorder will not have access to all the control properties that are required. This can quickly lead you to think that the tool isn’t worth much!

Another instance where Visual Studio must be running as Administrator, is when you need to create a website under IIS from within Visual Studio. When it isn’t running under Administrator privileges, it will block you and warn you that you need elevated privileges. This is one of the rare instances where Visual Studio explicitly tells you that you that you are required to start it as an Administrator. This is because IIS requires elevated privileges.

imageThese are but two examples of why it is so important to run Visual Studio as an Administrator.

The image to the right, shows 
how to set
Visual Studio to always start as Administrator. Right click on the shortcut and go into the advanced… menu. Then be sure to check the Run as administrator check box.  

Remember, when ever you have the possibility, it’s best run Visual Studio with full admin rights.