Страница не отображалась, поскольку объект запроса слишком большой в IIS
При перенаправлении одной страницы на другую веб-страницу появляется следующая ошибка:
msgstr "страница не отображалась, потому что объект запроса слишком велик."
Страница, с которой я перенаправляю на другую страницу, содержит огромное количество данных, поэтому в основном я знаю причину проблемы.
Однако я ищу рабочее решение для этого. Во-вторых, когда я поработал с Google по этому вопросу, я обнаружил, что такого рода проблема возникает при загрузке любого большого файла.
Но я не загружаю большой файл, просто сама страница содержит большие данные. Быстрое решение будет оценено.
3 ответа
Я думаю, что это решит проблему, если у вас включен SSL:
Установка uploadReadAheadSize в файле applicationHost.config на IIS7.5 решит вашу проблему в обоих случаях. Вы можете изменить это значение непосредственно в applicationhost.config.
Выберите сайт под веб-сайтом по умолчанию
Выберите Редактор конфигурации
В разделе Dropdown выберите "system.webServer/serverRuntime"
Введите более высокое значение для "uploadReadAheadSize", например 1048576 байт. По умолчанию 49152 байта.
Во время процесса повторного согласования клиента тело объекта запроса должно быть предварительно загружено с использованием предварительной загрузки SSL. Предварительная загрузка SSL будет использовать значение свойства метабазы UploadReadAheadSize, которое используется для расширений ISAPI.
Я заработал, выполнив следующие
- Зайдите в IIS.
- Щелкните имя сервера
- В функциях (значках) выберите редактор конфигурации.
- Нажмите на раскрывающиеся списки вверху с настройками
- Пройдите по пути system.webServer -> security -> requestFiltering -> maxAllowedContentLength и установите для него значение 334217728. (Затем нажмите Enter и затем примените вверху справа).
Вы также можете перезапустить веб-сервер для хорошей меры. После этого я мог загрузить свою базу данных 150 КБ в phpymyadmin.
Я также установил размер post_max равным 8000 в php.ini в программах /PHP/phpversion/php.ini
Это может быть излишним для размеров, но он выполняет свою работу, когда у вас есть большие файлы.
Для меня uploadReadAheadSize не решила мою проблему.
Я изменил обе эти настройки в моем asp.net web.config и, наконец, файл, загруженный для меня:
<system.web>
<system.webServer
<httpRuntime executionTimeout="999999" maxRequestLength="20000" requestValidationMode="2.0" /> <!-- 20 MB -->
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="20500000" /> <!-- 20.5 MB - making it match maxRequestLength to fix issue with uploading 20mb file -->
</requestFiltering>
</security>
</system.webServer>
У меня была такая же ошибка, и вышеуказанное исправление не сработало. Я был только на HTTP (localhost), но это исправило ошибку 413
Set-WebConfigurationProperty -filter /system.webserver/security/requestfiltering/requestLimits -name maxAllowedContentLength -value 134217728
Другой возможной причиной является настройка аутентификации. В IIS7,
Выберите сайт под веб-сайтом по умолчанию
Выберите Аутентификацию
Выберите проверку подлинности Windows и включите. Отключить все остальные.
Пока аутентификация Windows по-прежнему выбрана, нажмите "Дополнительные параметры" на панели "Действия".
Убедитесь, что расширенная защита включена, и включите проверку подлинности в режиме ядра.
Я сделал то же самое, но все равно не получил радости.
Что решило проблему для меня, так это также увеличение лимитов запросов: - Выберите сайт в диспетчере IIS - Нажмите "Изменить настройки функции" в правом меню - Вставьте 200000000 для "Максимально допустимой длины содержимого"
В моем случае ошибка произошла при загрузке файла.
Причина была в том, что у меня был код, который явно отправляет HTTP 413 клиенту в (ошибочном) случае.
( Смотрите здесь для деталей).
Поэтому помните о том, что установка кода ответа HTTP 413 в вашем коде (или в используемой вами библиотеке) также может генерировать сообщение об ошибке OP.