2

Я ударяю «Ошибка HTTP 403.14 - Запрещено» после выполнения XCopy развертывания приложения ASP.NET MVC 6 против Windows Server 2008 x64, работающего под управлением IIS 7, и попытки запустить развернутое веб-приложение.Ошибка HTTP 403.14 - Запрещено (ASP.NET MVC 6, ASP.NET 5, IIS 7, Windows Server 2008)

Я выполнил шаги в http://docs.asp.net/en/latest/getting-started/installing-on-windows.html#install-asp-net-standalone и http://docs.asp.net/en/latest/publishing/iis.html#xcopy-to-iis-server, и я использую dnx-clr-win-x64.1.0.0-beta7.

+0

вы делаете это звучит, как вы не в состоянии развернуть его, но я не вижу, как вы может получить эту ошибку при развертывании, так как развертывание копирует файлы, а ошибка - ошибка веб-запроса, я думаю, вы действительно имеете в виду, что получаете эту ошибку после развертывания? –

+0

Джо, ты прав, я редактировал вопрос, надеюсь, теперь он более точный. –

+0

У вас есть фреймворк, установленный на сервере, или вы развернули его с вашим приложением? Есть ли файл web.config в папке wwwroot? Там должен быть web.config, и у него должны быть некоторые настройки для начальной загрузки фреймворка, но эти параметры зависят от существующей на сервере структуры. также убедитесь, что папка IIS настроена как приложение. –

ответ

1

Я добавил простую страницу по умолчанию default.aspx и получил исключение, которое, как представляется, указывает, что ASP.NET MVC 6 работает только под IIS 7.5 и более поздних версий. С точки зрения требований к системе, что приводит к Windows Server 2008 R2 и более поздних версий, по крайней мере, на момент написания этого:

Exception information: 
    Exception type: PlatformNotSupportedException 
    Exception message: IIS 7.5 or higher is required. 
    at AspNet.Loader.Error.Bootstrapper_RequiresIIS75() 
    at AspNet.Loader.Bootstrapper.LoadApplicationNet45(String appId, String appConfigPath, IProcessHostSupportFunctions supportFunctions, LoadApplicationData* pLoadAppData, Int32 loadAppDataSize, String runtimePackagePath, String appBasePath) 
    at AspNet.Loader.Bootstrapper.LoadApplication(String appId, String appConfigPath, IProcessHostSupportFunctions supportFunctions, LoadApplicationData* pLoadAppData, Int32 loadAppDataSize) 
    at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) 
    at System.Web.Hosting.ProcessHost.System.Web.Hosting.IProcessHostLite.ReportCustomLoaderError(String appId, Int32 hr, AppDomain newlyCreatedAppDomain) 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 
    at System.Web.Hosting.ApplicationManager.CreateAppDomainWithHostingEnvironment(String appId, IApplicationHost appHost, HostingEnvironmentParameters hostingParameters) at System.Web.HttpRuntime.HostingInit(HostingEnvironmentFlags hostingFlags, PolicyLevel policyLevel, Exception appDomainCreationException) 
1

403.14 - код ошибки для того, чтобы не было разрешено перечислить содержимое каталога.

Вы уверены, что выбрали целевой каталог как приложение в IIS? Это похоже на самого вероятного преступника. Другие возможности заключаются в том, что ваш пул приложений использует неправильную версию .NET (что-то, отличное от того, что находится на сервере), или что вы пропустили папку, в которой нуждается ваше приложение, например App_Data или что-то в этом роде.

+0

Похоже, что IIS пытается перечислить содержимое каталога, что не является предполагаемым результатом. Пул приложений настроен на использование .NET 4.0 и настроен в режиме интегрированного управляемого конвейера. Веб-сайт указывает на папку wwwroot, в соответствии с упомянутой выше документацией. –

+0

Можете ли вы добавить статический html-файл и посмотреть, можете ли вы получить к нему доступ? Возможно, у вас нет надлежащей настройки asp.net? Вы запустили aspnet_regiis? – Dealdiane

+0

Да, IIS пытается перечислить содержимое каталога, потому что он не может найти подходящее веб-приложение. Трюк выясняет, какая проблема с конфигурацией отвечает. Если вы уверены, что ваш каталог app/настроен под IIS и что ваш сервер и пул приложений оба используют .NET 4.0, то может быть, что ваш IIS не зарегистрирован, как упоминалось выше. Или может быть, вам не хватает файла - я столкнулся с чем-то похожим на EF, где мастер EntityFramework.SqlServer.dll не был помещен в нужное место мастером публикации, хотя, конечно, xcopy отличается. Может быть, включите подробный ведение журнала сервера? – sschimmel