我知道这个问题已被问及并回答了几次,但这些问题略有不同,这些问题的答案无法解决我的问题。
我有一个asp.net 5& MVC 6应用程序在IIS Express中工作正常,在WEB中自托管。但是,当我发布到一个文件夹并指向IIS的wwwroot文件夹时,我收到HTTP错误403.14 - 禁止错误。
我尝试过IISReset,但我确实有一个默认的root。
答案 0 :(得分:1)
首先,确保在IIS中安装了HTTP平台处理程序(x86 / x64)。
将您的应用程序发布到文件系统并获取\artifacts\bin\MyWebApp\Release\Publish
文件夹的内容并将其复制到IIS服务器中。
配置应用程序时,请定位您复制的wwwroot
文件夹。
现在,您需要解锁system.webServer/handlers
部分,该部分可以在Configuration Editor
下的服务器节点上的IIS管理器中找到。搜索正确的部分并从右侧操作窗格中解锁。
确保应用程序池设置为No Managed Code
。 DNX作为外部进程运行。 IIS不需要知道它当前正在运行什么。
最后,使用以下内容创建web.config
:
<configuration>
<system.webServer>
<handlers>
<add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
</handlers>
<httpPlatform processPath="..\approot\web.cmd" arguments="" stdoutLogEnabled="false" stdoutLogFile="..\logs\stdout.log" startupTimeLimit="3600"></httpPlatform>
</system.webServer>
</configuration>
它应该在那时运行。