我在 Windows 2008 R2 x64 上使用 IIS 7.5 时遇到了这个奇怪的问题。我在 IIS 中创建了一个网站,手动创建测试文件 index.html 一切正常。当我尝试进行部署时,我将所有文件从本地 PC 复制到 IIS 服务器,尝试访问 index.html(这是正确的部署文件)并获取401.3 访问被拒绝错误。然后我尝试手动重新创建 index.html 并将内容复制到这个新创建的文件中,页面又可以访问了……我就是搞不懂。所以问题是 IIS 7.5 无法提供从其他电脑复制的文件。我尝试重置/应用权限设置到复制的文件夹/文件,但没有任何效果。请帮忙。谢谢!顺便说一句,我复制的文件只是一些 html 剪切,即通用 html、css 和图像文件,没什么特别的。
答案1
在我看来,这听起来像是文件权限问题。请确保您确实将文件复制到 wwwroot 文件夹中,而不是从其他文件夹中移动它们。复制文件时,它们将自动从父文件夹继承权限,但如果您移动文件,它们将保留其原始权限。我建议先将文件复制到计算机上的文件夹中,然后从那里将它们复制到 wwwroot 文件夹中。
另一个可以尝试的方法是,在将文件复制到计算机之前先对其进行压缩,然后将其提取到本地驱动器,再将其复制到 wwwroot 文件夹。
答案2
IIS 7.5 应该会给出详细的错误信息,说明您在哪里被拒绝访问。如果这没有帮助,请使用进程监控并再次重现错误并查找任何“访问被拒绝”。
答案3
我也一直在努力解决同样的问题。我已从另一台计算机将文件部署到 IIS 7.5 服务器,但收到 401 访问被拒绝错误。我尝试添加应用程序域标识帐户(有关更多信息,请参见此处:http://stevesmithblog.com/blog/working-with-application-pool-identities/)、NETWORK SERVICE 帐户等,但这些都不起作用。
对我而言有效的是将 IUSR 帐户添加到网站的文件夹(递归),并使用默认权限(读取和执行、列出文件夹内容、读取)。
答案4
请参阅我的回答. IMO 是一个打破Windows Server 2008 R2 中的变化。