Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The request URL is invalid in IIS 7

here is my URL

http://abc.domain.com/controller/action/A74444C3A7FA858C7995CA9954CBCF1E26604634767C5575396D908E8415CF8CCC04C05F49FED0AA9D9743B69ABF232BDE9787A5222D081DA638896C0D2379A673E1747A2FFE1158F14AF098B2899D2ABEB4EA738D89369627E479796B6B2B9EA9B247CC59EF10E3A88B6A56A87F0818E2AD2A942FFA31F1C941BB7AF6FDC55FE6733353F28DFAC1827688604CBFBAB4856E6C75F810D13923F9D913F51F5B02980163E6CD63BC04610AD2C12E07360D7BC2C69F1B0CD03E

There are no invalid characters in the URL itself as everything is encrypted. Still I am getting

Bad Request - Invalid URL HTTP Error 400. The request URL is invalid.

I know the URL is awfully long and I was able to resolve that issue in my Cassini by adding this httpRuntime maxUrlLength="512"

in the web.config

However in IIS7 even after playing around with the requestfiltering maxurl and maxquerystring values I have not been able to resolve this.

This is an asp.net mvc 3 application.

like image 897
Qudoos Avatar asked Dec 09 '11 15:12

Qudoos


3 Answers

This one is for posterity and for tracking my own problem. It's been said in another answer however, not as explicitly.

I've had the same problem on my end. The answer is of course to transfer the long URL segment to a Query string. Easier to handle.

The problem however is that HTTP.sys is not even letting the request through because a segment of the URL is exceeding 260 or so characters. However, we still had to support it.

You can change that setting in the registry. Once you reboot, the url will work.

Registry:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters]
"UrlSegmentMaxLength"=dword:00000400

This will effectively set the segment length to 1024.

Source

like image 61
Maxime Rouiller Avatar answered Oct 21 '22 02:10

Maxime Rouiller


Your problem is you're not using a query string, but a path. A path has a maximum length of 255.

like image 32
Yuriy Faktorovich Avatar answered Oct 21 '22 02:10

Yuriy Faktorovich


The final path segment is likely to be too long.

See: http://social.msdn.microsoft.com/Forums/nl/netfxnetcom/thread/723e6bfd-cab7-417b-b487-67f1dcfa524f

like image 45
Andy Avatar answered Oct 21 '22 01:10

Andy