IIS:可以浏览文件,但点击下载时收到404

Eri*_* J. 3 iis-6

我已经设置了一个 IIS 6 服务器来充当文件服务器。但是,对于某些文件,客户端会收到 404 错误。

为了诊断问题,我启用了目录浏览。我可以直接浏览到有问题的文件之一,单击该文件,然后获取 404。

该网站配置为进行基本身份验证。我验证了有问题的用户在文件系统级别对所需文件具有读取权限。

该文件访问尝试的 IIS 日志条目是:

2009-10-26 23:23:38 W3SVC882002786 192.168.1.10 GET /path/to/myfile.war-0.2.45.M.war - 8889 - 72.162.134.92 Mozilla/5.0+(Windows;+U;+Windows+NT+6.0;+en-US)+AppleWebKit/532.0+(KHTML,+like+Gecko)+Chrome/3.0.195.27+Safari/532.0 401 2 2148074254
2009-10-26 23:23:38 W3SVC882002786 192.168.1.10 GET /path/to/myfile.war-0.2.45.M.war - 8889 - 72.162.134.92 Mozilla/5.0+(Windows;+U;+Windows+NT+6.0;+en-US)+AppleWebKit/532.0+(KHTML,+like+Gecko)+Chrome/3.0.195.27+Safari/532.0 401 1 0
2009-10-26 23:23:38 W3SVC882002786 192.168.1.10 GET /path/to/myfile.war-0.2.45.M.war - 8889 MYDOMAIN\myuser 72.162.134.92 Mozilla/5.0+(Windows;+U;+Windows+NT+6.0;+en-US)+AppleWebKit/532.0+(KHTML,+like+Gecko)+Chrome/3.0.195.27+Safari/532.0 404 3 50
Run Code Online (Sandbox Code Playgroud)

所以看起来有两个 401(拒绝访问),然后是一个 404。

有趣的是,可以访问和下载同一目录中的.jar文件。

是否需要在某处配置 IIS 以允许下载其他文件类型?

Wil*_*ill 8

可能发生的情况是您的服务器不知道 .war 是一种需要下载而不是执行的文件。然后,它会通过您允许的 Web 服务扩展来运行任何匹配项。如果没有找到,即使该文件确实存在,它也会抛出 404 错误。

如果您为 application/octet-stream 类型的 war 文件设置 MIME 类型,则应该可以解决您的问题。