HTTP 错误 403.14 - 禁止访问(ASP.NET MVC 6、ASP.NET 5、IIS 7、Windows Server 2008)
HTTP Error 403.14 - Forbidden (ASP.NET MVC 6, ASP.NET 5, IIS 7, Windows Server 2008)
我在针对 Windows Server 2008 x64 运行ning IIS 7 执行 ASP.NET MVC 6 应用程序的 XCopy 部署后点击 "HTTP Error 403.14 - Forbidden" 并尝试 运行 已部署的 Web 应用程序。
我按照 http://docs.asp.net/en/latest/getting-started/installing-on-windows.html#install-asp-net-standalone and http://docs.asp.net/en/latest/publishing/iis.html#xcopy-to-iis-server 中的步骤进行操作,我正在使用 dnx-clr-win-x64.1.0.0-beta7。
403.14是不允许列出目录内容的错误码
您确定已将目标目录设置为 IIS 中的应用程序吗?这似乎是最有可能的罪魁祸首。其他可能性是您的应用程序池使用了错误版本的 .NET(不是服务器上的版本),或者您错过了应用程序需要的文件夹,例如 App_Data 或其他内容。
我添加了一个简单的测试 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)
我在针对 Windows Server 2008 x64 运行ning IIS 7 执行 ASP.NET MVC 6 应用程序的 XCopy 部署后点击 "HTTP Error 403.14 - Forbidden" 并尝试 运行 已部署的 Web 应用程序。
我按照 http://docs.asp.net/en/latest/getting-started/installing-on-windows.html#install-asp-net-standalone and http://docs.asp.net/en/latest/publishing/iis.html#xcopy-to-iis-server 中的步骤进行操作,我正在使用 dnx-clr-win-x64.1.0.0-beta7。
403.14是不允许列出目录内容的错误码
您确定已将目标目录设置为 IIS 中的应用程序吗?这似乎是最有可能的罪魁祸首。其他可能性是您的应用程序池使用了错误版本的 .NET(不是服务器上的版本),或者您错过了应用程序需要的文件夹,例如 App_Data 或其他内容。
我添加了一个简单的测试 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)