【发布时间】:2015-03-15 12:01:19
【问题描述】:
我在这里看到过很多类似的情况,但没有一个完全符合我的情况,而且很遗憾,没有一个答案可以解决我的问题。所以,这里什么都没有。
对于初学者,我的新 MVC 前端和 WebAPI 项目在通过 Visual Studio 在我的本地 PC 上运行时运行良好。问题是当我尝试将项目(使用多种方法:msdeploy、ftp、复制到服务器的文件系统)发布到登台服务器时。我知道服务器配置正确,因为我在同一台服务器上运行了几个其他 WebUI(MVC)/WebAPI 应用程序,以完全相同的方式部署,使用完全相同的技术堆栈(一直到版本)。到目前为止,这是我尝试过的:
- 我已验证应用程序已部署到服务器上的正确文件夹中,并且 IIS 中的虚拟路径 --> 应用程序已指向正确的物理位置
- 我已验证应用程序设置为使用在 applicationpoolidentity 下以 asp.net 4.0 集成模式运行的专用应用程序池
- 应用程序池的 IUSR 用户和身份已被授予对虚拟路径和所有子文件夹/文件的读取/执行访问权限
- 我已经尝试了我在这里看到的关于在 web.config 文件中为 ExtensionlessUrlHandler-Integrated-4.0 处理程序使用 verb="*" 的建议,但它不起作用
- IIS 日志显示 404 错误为 404 0 0 62;查找 win32 状态代码 (62) 提供:“服务器上没有存储等待打印文件的空间”,这似乎不适用于我的情况(检索到 here)
以下是 IIS 日志文件中输出的(经过编辑的)副本:
2015-01-16 17:54:59 X.X.X.X GET /Accounts/Alpha/ - 443 - X.X.X.X Mozilla/5.0+(Windows+NT+6.1;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/39.0.2171.95+Safari/537.36 - 404 0 0 62
无论我尝试通过服务器本身(尝试 FQDN 和 localhost)还是我的开发机器访问 URL,都会发生这种情况。机器上的事件日志中没有与 IIS 相关的错误。如果有人可以提供一些额外的见解,我将非常感激,因为这让我陷入困境。我不明白它如何适用于服务器上的所有其他应用程序,但我找不到配置差异。
提前致谢!
【问题讨论】:
-
是 MVC4 还是 MVC5 应用程序?您的虚拟目录被标记为充当应用程序?将一个简单的 html 文件放在文件夹的根目录下,然后查看该页面是否可以访问。
-
MVC4,等我下班后用 HTML 文件确认可访问性
-
是的,它是一个虚拟目录,其子目录标记为应用程序。有趣的是,HTML 文件也无法访问……在完全删除并重新创建目录结构之后,它似乎正在工作。 @ImranBalouch 如果您将其作为答案发布,我会将其标记为这样。
-
我很高兴你把它修好了,我不确定我发布答案是否好,但我正在发布它:)
标签: asp.net-mvc iis http-status-code-404