【问题标题】:MVC error 403 - Forbidden: Access is denied. Works locally but not remotelyMVC 错误 403 - 禁止访问:访问被拒绝。在本地工作,但不在远程工作
【发布时间】:2015-04-26 16:27:10
【问题描述】:

在 IIS7.5 上部署了 MVC5 站点并在尝试远程访问时收到此错误: 403 - 禁止:访问被拒绝。 从服务器本身,我没有收到错误。 我尝试了常见的建议修复,例如添加

<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer> 

到 web.config,并为版本 4.0.30319 运行 aspnet_regiis,但没有任何效果。

几个月前,我部署了另一个 MVC 站点(尽管它是 MVC 版本 3),并且它已启动并运行,没有这种废话。我不记得究竟做了什么来成功部署,但我不记得这样的头痛。只是出于猜测,这不仅仅是由于较新版本的 MVC,我复制并粘贴了工作 MVC3 Web 应用程序的文件夹,通过 IIS 将其转换为应用程序,使用相同的应用程序池,然后...接收远程403错误就可以了。因此,通过提供 403 的精确副本,虽然我复制的应用程序运行良好,但告诉我可能缺少一些 IIS 设置?显然 web.configs 是完全一样的。文件夹权限看起来一样。我在 web 应用程序文件夹中放置了一个测试 html 页面,我可以通过浏览器远程访问它。我不知道,我没有花太多时间在IIS配置地狱里,令人沮丧的难以置信。如果有人有任何想法...

【问题讨论】:

  • 是否为 IIS 安装了 ISAPI 模块? iis.net/configreference/system.webserver/isapifilters
  • 是的,它们已安装。
  • 检查 Web 应用程序根目录的文件系统权限。我认为默认用户组是 IIS_IUSRS
  • 还要检查Anonymous Authentication是否已启用
  • 启用匿名认证,IIS_IUSRS 具有读取和执行、列出文件夹内容和读取权限。

标签: asp.net asp.net-mvc-3 asp.net-mvc-5 iis-7.5 http-status-code-403


【解决方案1】:

在 IIS 中检查您的域的基本设置。将其设置为 DefaultAppPool。这为我解决了同样的问题。

【讨论】:

    【解决方案2】:

    既然你说它在本地工作,那么问题一定在这里:

    1. 检查您的 App_Start/BundleConfig.cs 文件以获取与项目的物理文件夹路径匹配的 css 引用。 这是一个例子:

      bundles.Add(new StyleBundle("~/Content/bootstrap").Include("~/Content/bootstrap/less/bootstrap.css"));

    如您所见,/Content/bootstrap 也是一个文件夹路径。您需要做的是,将此样式包重命名为其他名称。说,“~/Content/bootstrap-css”。基本上,它不应该与物理文件夹路径匹配。

    我遇到了这个问题,它可以在本地运行,但不能在服务器上运行。所以,它应该有帮助!

    干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-03
      • 2012-11-25
      • 1970-01-01
      • 2011-02-17
      • 1970-01-01
      • 2017-06-12
      • 1970-01-01
      相关资源
      最近更新 更多