我将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身份验证仅支持匿名和表单模块。
答案 0 :(得分:3)
今天发生在我身上......花了好几个小时试着在SO上提供各种解决方案。
我正在使用Visual Studio 2017社区......我正在部署到Windows Server 2012 R2以及Windows Server 2016.
对我有用的唯一解决方案是取消选中Precompile during publishing
设置。
为什么这会让我与众不同。
答案 1 :(得分:2)
您是否尝试在您的web.config中的runAllManagedModulesForAllRequests="true"
上添加<modules>
?我之前遇到过这个问题,这一直是解决了这个问题。
答案 2 :(得分:1)
这似乎是一个与托管许可相关的问题。 检查您的文件夹是否已将网络服务添加为角色,并检查iusr 一般来说,就个人经验而言,角色和许可都有问题。 如果您无法检查,请向您的主机提供商查询角色