У меня есть веб-сайт, созданный под IIS 8.0 в Windows 2012. На этом сайте создана перезапись URL-адреса с ARR, которая указывает на машину linux (в основном на веб-службу, развернутую в Tomcat), и через IIS будет выполняться запрос «GET», где URL превышает более 5000 символов вместе со строкой запроса. При обращении к URL-адресу через программу или в браузере IIS выдает «Неверный запрос» с кодом состояния, равным 400, и без кода подстатуса. То же самое работает, когда он напрямую попадает в веб-сервис (для tomcat Linux). Я подозревал, что проблема заключается в избыточных символах в URL, потому что, когда я пытаюсь уменьшить длину URL-адреса до 3500 символов, это работает без каких-либо ошибок. Ниже приведены настройки и параметры, которые я пробовал в IIS web.config, а также в реестре http.sys, но, похоже, ничего не работает.
<configuration>
<system.webServer>
<security>
<requestFiltering allowDoubleEscaping="true">
<requestLimits maxAllowedContentLength="4294967295" maxUrl="10999" maxQueryString="2097151">
<headerLimits>
<add header="Content-Type" sizeLimit="100000000" />
</headerLimits>
</requestLimits>
</requestFiltering>
</security>
<urlCompression doDynamicCompression="false" />
</system.webServer>
<system.web>
<httpRuntime maxRequestLength="8192" maxUrlLength="8192" maxQueryStringLength="8192" requestPathInvalidCharacters="" />
</system.web>
</configuration>
http.sys Настройки реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\MaxFieldLength - DWORD - 65534
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\MaxRequestBytes - DWORD - 16777216
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\UrlSegmentMaxCount - DWORD - 16383
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters\UrlSegmentMaxLength - DWORD - 32766
Я перезагружал сервер Windows после выполнения всех вышеуказанных настроек и настроек.
Эти параметры и конфигурация соблюдаются IIS без перезаписи URL. Если я попробую другой URL с длиной 5000 символов для того же сайта, он работает без каких-либо ошибок. Это появляется только для URL, который попал под конфигурацию перезаписи URL. Существуют ли какие-либо конкретные конфигурации, которые необходимо выполнить в отношении длины URL в ARR, помимо вышеупомянутого? Пожалуйста, предложите и помогите.
Заранее спасибо.