Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

HTTP Error 404.15 -Not Found

The request filtering module is configured to deny a request where the query string is too long.

I am having above error, and I have been trying almost everything but no luck

My Project is MVC4 on Visual Studio 2013

things I have made sure are correct and tried.

  • There is no [Authorize] Attr on my classes with [AllowAnonymous] Attr.
  • I have added maxQueryStringLength="32768" maxUrlLength="65536" to in my config file
  • I have added -->
  • I have [AllowAnonymous] attr on my log on Actions in my controller.

  • I have no problem when I run the application in debug mode or without debug mode on Visual Studio.

  • here is my rout config routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } );

  • this is the error I am getting on the web server

enter image description here

like image 651
Frank Avatar asked Oct 15 '25 12:10

Frank


2 Answers

Insert/Update web.config file as like sample below

<configuration>
   <system.webServer>
       <security>
          <requestFiltering>
             <requestLimits maxQueryString="3000" maxUrl="1000" />
          </requestFiltering>
       </security>
   </system.webServer>
   <system.web>
       <httpRuntime maxQueryStringLength="32768" maxUrlLength="65536"/>
   </system.web>
</configuration>
like image 87
Sedat Kumcu Avatar answered Oct 17 '25 01:10

Sedat Kumcu


As the error message tells you

The request filtering module is configured to deny a request where the query string is too long.

At the screenshot you can clearly see that the returnUrl Parameter is huge.

So there are to solutions

  1. Clear your returnUrl Parameter in your Controller Method [HttpPost] Login();

  2. Add the following to your web.config :

web.config

<system.webServer>
  <security>
    <requestFiltering>
      <requestLimits maxQueryString="*"/> <!-- Replace * with any number, which is required -->
    </requestFiltering>
  </security>
</system.webServer>

In your case go definitively with Solution 1. It's simply a bug in your Code and easily fixed without touching the IIS or other config files.

See this post for more information about Request Query String Limit.

like image 37
Smartis Avatar answered Oct 17 '25 02:10

Smartis



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!