IIS7, SSL и «Страница не отображалась, поскольку объект запроса слишком велик». - PullRequest
7 голосов
/ 05 июля 2011

Мы запускаем приложение ASP.NET через SSL на IIS7 на 64-разрядной машине.

Теперь я обнаружил несколько статей, в которых упоминается, что для устранения этой ошибки мне нужно изменить system.webServer/serverRuntime/uploadReadAheadSize.Хорошо.Я попытался через appcmd.exe, а затем просто вручную отредактировал мой web.config, чтобы установить это:

    other config settings

    -->
    <serverRuntime uploadReadAheadSize="1048576" />
  </system.webServer>

Однако, когда я устанавливаю это в web.config сайта, я получаю эту ошибку:

Этот раздел конфигурации нельзя использовать по этому пути.Это происходит, когда раздел заблокирован на родительском уровне.Блокировка либо по умолчанию (overrideModeDefault = "Deny"), либо устанавливается явно с помощью тега местоположения с помощью overrideMode = "Deny" или устаревшего allowOverride = "false".

Оттуда я гуглю иВ сообщениях говорится, что этот раздел конфигурации должен быть разблокирован.Поэтому я запустил appcmd.exe, чтобы разблокировать его, но я получаю сообщение об ошибке от appcmd.exe:

C: \ Windows \ System32 \ inetsrv> appcmd.exe set config -section: system.webserver /serverruntime / uploadreadaheadsize: 1048576 / commit: apphost ОШИБКА (сообщение: Неизвестный раздел конфигурации "system.webserver / serverruntime / uploadreadaheadsize: 1048576". Замените на? для справки.)

Я открыл его в блокноте64-разрядный и изменил его:

<section name="serverRuntime" overrideModeDefault="Allow" />

Во-первых, разумно ли разрешить переопределение этого значения?Если нет, каковы альтернативы?Если он переопределен, каковы потенциальные проблемы с настройкой этого параметра в моем файле web.config, чтобы размер uploadreadaheadsize превышал значение по умолчанию?Один сайт упомянул возможность DoS-атаки.

1 Ответ

7 голосов
/ 05 июля 2011

Я бы рекомендовал вместо этого просто настроить его для Сайта, который требует такого рода функциональности, вы можете легко сделать это с помощью AppCmd, вот синтаксис для его включения, скажем, для Веб-сайта по умолчанию:

appcmd.exe set config "Default Web Site" -section:system.webServer/serverRuntime /uploadReadAheadSize:"1048576"  /commit:apphost

Серверная среда выполнения позволяет вам установить несколько других функций, которые в зависимости от сервера (например, если на нем размещаются сторонние сайты или другой недоверенный контент), вы можете захотеть не разрешать это для них, поэтому не делегируете его (разблокировка) имеет смысл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...