(413) Слишком большой объект запроса при перезаписи URL-адреса IIS 10

У меня есть сервер IIS 10, настроенный как базовый обратный прокси-сервер URL Rewrite для предварительной проверки подлинности запросов, направленных на другой веб-сервер, все вызовы представляют сертификаты клиентов через SSL. У меня проблемы с (413) Request Entity Too Large ошибки с большими POST.

Я пробовал установить это в applicationHost.config

<serverRuntime uploadReadAheadSize="2147483647" />

Однако это не дало никакого эффекта. Существуют ли какие-либо другие настройки, которые управляют отклонением перезаписи URL-адресов больших POST-запросов?

Файл web.config для обратного прокси очень прост:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="ReverseProxyInboundRule1" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{CACHE_URL}" pattern="^(https?)://" />
                    </conditions>
                    <action type="Rewrite" url="{C:1}://my.internal.server:444/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

person Tim Lett    schedule 15.10.2019    source источник
comment
Попробуйте изменить <httpRuntime maxRequestLength="4194304" />, я думаю, у меня была эта проблема раньше, не могу вспомнить решение   -  person Michael    schedule 15.10.2019
comment
Спасибо, но это также уже установлено на 2147483647.   -  person Tim Lett    schedule 15.10.2019
comment
А как насчет <requestLimits maxQueryString="4294967295" />   -  person Michael    schedule 15.10.2019
comment
Ага! Вы просто указали мне правильное направление. На самом деле это было <requestLimits maxAllowedContentLength="2147483647" /> исправлено. Спасибо!   -  person Tim Lett    schedule 15.10.2019
comment
Нет проблем, рад помочь!   -  person Michael    schedule 15.10.2019
comment
@Michael или TimLett, подумайте над тем, чтобы дать ответ. Не очевидно, что на этот вопрос есть ответ, иначе я его пропустил в первый раз.   -  person Alex    schedule 07.05.2020


Ответы (2)


Подводя итог из комментария.

Попробуйте сначала изменить <httpRuntime maxRequestLength="4194304" />.
Если это не сработает, попробуйте затем <requestLimits maxAllowedContentLength="2147483647" />.
Если это не поможет, оставьте мне комментарий.

person Michael    schedule 08.05.2020

Нормальная настройка максимального размера загружаемого файла:

Установка лимитов запросов в корневом файле web.config сайта (по умолчанию 30 МБ). Это также можно установить в программе Internet Information Services Manager (MACHINE- ›Site-› IIS- ›Request Filtering-› Edit Feature Settings)

<!– 100 MB . Format uses Bytes –>
<security>
  <requestFiltering>
    <requestLimits maxAllowedContentLength=”102400000″ />
  </requestFiltering>
 </security>
person bvamos    schedule 05.03.2021