Ошибка 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 - Запрещено Веб-сервер настроен так, чтобы не перечислять содержимое этого каталога.
Я гуглил это, но не нашел исправления. Что я делаю не так?
Ответы
Ответ 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
Я столкнулся с подобной проблемой. Имя моего контроллера было документами. Управляет загруженными документами. Он работал нормально и начал показывать эту ошибку после завершения кода. Я сделал ошибку - создал папку "Документы" для сохранения загруженных файлов. Таким образом, имя контроллера и имя папки были одинаковыми, что и вызвало проблему.