Подтвердить что ты не робот

Ошибка HTTP 403.14 - Запрещено - пакеты MVC4.net 4.5

Я сделал приложение MVC4 с .net 4.5, используя движок бритвы. Он отлично работает, когда выполняется локально с визуальной студией.

Когда я развертываю в IIS на Windows Server 2008 R2 (все обновления для Windows завершены), похоже, мои пакеты не работают, и CCS не загружается. Я попытался просмотреть сайт на сервере, посмотрев, что источник отправился на ссылку bundle для css, и он загружает некоторые css, а затем появляется ошибка IIS:

Ошибка HTTP 403.14 - Запрещено Веб-сервер настроен не на перечислите содержимое этого каталога.

Что я пробовал:

1) Убедитесь, что установлен .net 4.5.
2) Добавлен <modules runAllManagedModulesForAllRequests="true"/> в мой web.config
3) Ran %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir в cmd
4) Проверено, что для моего пула приложений установлено значение Интегрированный режим
5) Убедитесь, что он настроен на использование .net 4

4b9b3361

Ответ 3

Убедитесь, что в вашем web.config вы включили анонимный доступ к вашим "виртуальным" путям путей.

Например, если ваши пакеты стиля похожи на "~/content/blahblah", а ваши пакеты javascript похожи на "~/scripts/blahblah", вы должны открыть анонимный доступ к местоположениям "контент" и "сценарии", как это в вашем web.config:

<configuration>
 ...
 <location path="content">
  <system.web>
   <authorization>
    <allow users="?" />
   </authorization>
  </system.web>
 </location>

 <location path="scripts">
  <system.web>
   <authorization>
    <allow users="?" />
   </authorization>
  </system.web>
 </location>
 ...
</configuration>

Таким образом, любой запрос на виртуальный путь "~/content" или "~/scripts" любого пользователя будет предоставлен, а запросы CSS и JS будут обслуживаться.

Ответ 4

Еще одна потенциальная проблема, вызывающая 403.14, - это global.asax и/или web.config, которые не копируются в ваших настройках публикации или развертывании.