403 - 禁止访问:成功部署Web后拒绝访问

时间:2014-04-09 05:45:49

标签: asp.net .net iis web-deployment msdeploy

我将MVC 5应用程序部署到使用WebDeploy 3在Windows 2012 R2上运行的IIS。一切都很好,除非有时在成功部署之后我得到 403 - 禁止访问:访问被拒绝从浏览器访问该站点时出错。回收池可以解决问题,但这不是合适的选择。我希望IIS在WebDeploy完成文件更新后自动回收池

..........
Info: Updating file (blabla\Web.config).
Info: Adding ACL's for path (blabla.com)
Info: Adding ACL's for path (blabla.com)
Total changes: 22 (0 added, 0 deleted, 22 updated, 0 parameters changed, 1314018 bytes copied)

为什么呢?如何解决问题?

Windows事件日志(应用程序,安全性,WebDeploy或IIS)中没有警告或错误。该站点使用InProc会话,目标是.NET 4.5,应用程序池具有默认设置(在ApplicationPoolIdentity下运行)。 IIS身份验证仅支持匿名和表单模块。

3 个答案:

答案 0 :(得分:3)

今天发生在我身上......花了好几个小时试着在SO上提供各种解决方案。

我正在使用Visual Studio 2017社区......我正在部署到Windows Server 2012 R2以及Windows Server 2016.

对我有用的唯一解决方案是取消选中Precompile during publishing设置。

Uncheck precompile during publishing

为什么这会让我与众不同。

答案 1 :(得分:2)

您是否尝试在您的web.config中的runAllManagedModulesForAllRequests="true"上添加<modules>?我之前遇到过这个问题,这一直是解决了这个问题。

根据MVC4 HTTP Error 403.14 - Forbidden

答案 2 :(得分:1)

这似乎是一个与托管许可相关的问题。 检查您的文件夹是否已将网络服务添加为角色,并检查iusr 一般来说,就个人经验而言,角色和许可都有问题。 如果您无法检查,请向您的主机提供商查询角色