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

Ошибка HTTP 403.14 - Запрещено Веб-сервер настроен так, чтобы не отображать содержимое

Я загрузил приложение MVC Music Store ASP.NET в папку C:\Users\DEVESH\Desktop\Projects\MvcMusicStore-v3.0\MvcMusicStore-Completed\MvcMusicStore и добавил сайт в IIS в том же месте. Я также дал разрешение IIS_IUSRS, но когда я запускаю localhost, я получаю сообщение об ошибке:

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

Я гуглил это, но не нашел исправления. Что я делаю не так?

4b9b3361

Ответ 1

Я столкнулся с этой ошибкой, потому что у меня была неправильная версия .NET(v2.0 вместо v4.0), настроенная в пуле приложений веб-сайта. Я установил его таким образом на Windows Server 2008 R2 и IIS 7. Я уверен, что инструкции относятся к Windows Server 2012 и IIS 8:

  • Нажмите клавиши Windows + R, чтобы открыть диалоговое окно "Выполнить", введите inetmgr и нажмите кнопку "ОК". Откроется диспетчер IIS.
  • В левом древовидном представлении найдите Сайты node и найдите под ним Веб-сайт по умолчанию node (или имя сайта, на котором появляется сообщение об ошибке появляется).
  • Щелкните правой кнопкой мыши по node и выберите Управление веб-сайтом → Расширенные настройки.... Обратите внимание на имя значения Пул приложений. Закройте это диалоговое окно.
  • В древовидном представлении слева найдите и выберите node пулы приложений.
  • В списке справа найдите пул приложений с тем же именем, что указано в настройках веб-сайта. Щелкните его правой кнопкой мыши и выберите Дополнительные настройки...
  • Убедитесь, что значение .NET Framework версии v4.0. Нажмите ОК.

Это не относится, если вы используете более старый сайт, который должен иметь .NET v2.0, конечно:)

Ответ 2

В моем случае ASP.NET не зарегистрирован на сервере. попробуйте выполнить это в командной строке:

Windows 32bit

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir

Windows 64bit

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir 

Ответ 3

На всякий случай, если кто-то достиг этого, ища решение, вот как я его разрешил. По ошибке я удалил все файлы с моего сервера (каталог bin), но когда я переписал все файлы, я пропустил файлы App_global.asax.dll и App_global.asax.compiled. Поскольку эти файлы отсутствовали, IIS давал мне эту ошибку.

403 - Forbidden: Access is denied.

Как только я добавил эти файлы, он начал работать отлично.

Ответ 4

Я решил эту проблему, исправив ошибку с моим файлом Global.asax. Я скопировал файлы из другого проекта и не смог внедрить файл Global.asax.cs в файл Global.asax(оба файла ранее существовали на одном уровне).

Организация Global.asax

Ответ 5

Я сталкивался с подобными себе по двум причинам; 1. MVC не установлен. 2. Модуль маршрутизации URL не зарегистрирован (это зависит от машины на моем рабочем месте по той причине, которую я не могу полностью объяснить - он не всегда зарегистрирован на системном уровне), попробуйте зарегистрировать его в приложении web.config:

<system.web> 
      ... 
      <httpModules> 
         ... 
         <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
      </httpModules>
   </system.web>

Изменить: я забыл добавить местоположение для iis 7 +:

<system.webServer> 

      <modules> 
         ... 
         <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
      </modules>
</system.webServer>

Ответ 6

Я использовал приложение ASP.NET 4.5 MVC для IIS 7. Мое исправление заключалось в том, чтобы установить runallmanagedmodule в true.

<system.webServer>
            <modules runAllManagedModulesForAllRequests="true" />
</system.webServer>

или Если у вас есть другие модули, вы можете добавить их в тег модуля.

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
             <add name="ErrorLogWeb" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
             ...
    </modules>
</system.webServer>

Обзор модулей IIS: официальный сайт Microsoft IIS

Ответ 7

У меня была одна и та же проблема, но мое исправление заключалось в том, что в файле Global.asax.cs не была настроена маршрутизация. Я использую Bootstrapper и Castle Windsor, поэтому для решения этой проблемы я добавил следующий код в Global.asax.cs:

public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            Bootstrapper.IncludingOnly.Assembly(Assembly.GetAssembly(typeof(WindsorRegistration)))
                .With
                .Windsor()
                .With
                .StartupTasks()
                .Start();
        }
    }

Очевидно, что если вы используете базовый MVC, вам нужно будет ссылаться на файл RouteConfig в папке AppStart:

public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
    }

Ответ 8

В моем случае у меня было несколько проектов, но я не определил начальный проект. Таким образом, эта ошибка генерирует. После определения проекта startUp была решена проблема.

Ответ 9

Эта ошибка возникает, когда приложение не может запускаться. Таким образом, причиной может быть все, что препятствует запуску вашего приложения.

  • Неверная строка подключения
  • Неверные разрешения для каталога IIS
  • Исключение, созданное в вашей функции Application_Start()
  • Ошибка инициализации контейнера IOC
  • Ошибки регистрации IIS ASP.NET
  • Отсутствует DLL в папке bin.
  • и т.д...

Ответ 10

Эта ошибка может произойти, когда в диспетчере IIS сайт ASP.NET MVC указывается на неправильный каталог.

В моем случае я случайно указал сайт на каталог решения вместо каталога дочерних проектов. То есть, у меня был сайт Physical path установлен на

C:\dev\MySolution

вместо

C:\dev\MySolution\MyProject.

Конкретные шаги, чтобы исправить это:

  • Откройте диспетчер IIS (Пуск > Выполнить > inetmgr);
  • В диспетчере IIS на левой панели разверните узлы
  • В разделе "Сайты" щелкните левой кнопкой мыши веб-сайт ASP.NET MVC;
  • На правой панели щелкните Основные настройки...;
  • В диалоговом окне "Редактировать сайт" измените Physical path на каталог проекта.
  • Нажмите "ОК".

Ответ 11

Если проект является проектом ASP.net MVC, он будет касаться маршрутизации. В моем случае я изменил значения маршрутизации по умолчанию:

routes.MapRoute(
           "Default",                                              
           "{controller}/{action}/{id}",                           
           new { controller = "Home", action = "Index", id = "" }  
       );

Я случайно поменял свой код на:

routes.MapRoute(
               "Default",                                              
               "{controller}/{action}/{JobID}",                           
               new { controller = "Home", action = "Index", id = "" }  
           );

Я только изменил "id" на "JobId", и маршрут по умолчанию не найден.

Ответ 12

У меня была эта ошибка после создания пустого приложения ASP.Net в Visual Studio. Как только я добавил файл index.html в основное решение, он сработал. Поэтому в моем случае мне просто нужно было добавить файл в корень папки проекта.

Ответ 13

В моем случае файл index.aspx не был создан по умолчанию, и после добавления другой веб-формы я не установил форму как стартовую страницу... После установки страницы в качестве начальной страницы моя проблема будет решена. Щелкните правой кнопкой мыши веб-форму и установите форму в качестве начальной страницы :)

Ответ 14

В моем случае мне пришлось отключить "Исключить файлы из папки App_Data" в моем профиле публикации, чтобы развернуть папку App_Data с моей XML-документацией (XmlDocument.xml). Это избавило от 403.14.

Ответ 15

в моем случае: 1. в диспетчере IIS в левом дереве щелкните левой кнопкой мыши имя компьютера, в правом диалоговом окне выберите ограничение ISAPI и CGT, в открывшемся диалоговом окне выберите ASP.NET v4.0.30319 и выберите enable. Существует два ASP.Net v4.0, один для 32 бит, другой для 64 бит. выберите в зависимости от вашего бита операционной системы. 2. в левом дереве выберите пул приложений, в правом диалоговом окне выберите пул приложений, который используется вашим сайтом. дважды щелкните этот пул, в открывшемся диалоге,.net framke item выберите.net framework v.4.0.30319. и pipe..item select integate. Возможно, есть неправильный перевод выше, потому что моя ОС не является английской версией.

Ответ 16

IUSR permissions используются в папке, если не под Inetpub/wwwroot будет решением для некоторых.

Ответ 17

В случае, если кто-нибудь сталкивается с этим для проекта, отличного от MVC:

Мой проект был проектом WCF, который запускает файлы .svc - нет документа по умолчанию. В результате я получил ошибку 403.14 на myhost.com/ но как только я добавил путь baseAddress из своего файла web.config (например, myhost.com/mybaseaddresspath.svc я получил веб-страницу.

Ответ 18

Мои коллеги создали правило перезаписи URL, которое уменьшало все URL до StaticFileHandler; сопоставлен с путем к файлу в корне физической папки моего приложения.

(т.е. чрезмерно агрессивная перезапись URL означает, что мои контроллеры/действия не работали)

Проверьте правила перезаписи URL ваших приложений, чтобы убедиться, что они делают то, что вы ожидаете.

Ответ 19

Проверьте это также:

Эта проблема возникает из-за того, что на веб-сайте не включена функция просмотра каталогов, а документ по умолчанию не настроен. Чтобы решить эту проблему, используйте один из следующих методов:

  • Способ 1. Включите функцию просмотра каталогов в IIS (рекомендуется)
  • Способ 2: добавить документ по умолчанию
  • Способ 3: включить функцию просмотра каталогов в IIS Express

ССЫЛКА: https://support.microsoft.com/en-us/kb/942062

Ответ 20

Я столкнулся с подобной проблемой. Имя моего контроллера было документами. Управляет загруженными документами. Он работал нормально и начал показывать эту ошибку после завершения кода. Я сделал ошибку - создал папку "Документы" для сохранения загруженных файлов. Таким образом, имя контроллера и имя папки были одинаковыми, что и вызвало проблему.