我已经设置了IIS 6服务器作为文件服务器。 但是,对于某些文件,客户端会收到404错误。
为了诊断问题,我启用了目录浏览function。 我可以直接浏览有问题的文件之一,点击文件,并获得404。
该网站被configuration为基本authentication。 我validation了所涉及的用户已经在文件系统级读取了所需文件的权限。
该文件访问尝试的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
所以看起来有两个401(拒绝访问),然后是404。
有趣的是,同一目录下的.jar文件可以被访问和下载。
有什么地方我需要configurationIIS以允许其他文件types被下载?
可能发生的事情是,你的服务器不知道.war是一种需要下载而不是执行的文件。 然后通过您允许的任何匹配的Web服务扩展运行。 如果它没有find,即使文件确实存在,也会抛出404错误。
如果您为application / octet-streamtypes的war文件设置了MIMEtypes,则应该解决您的问题。
它看起来像你的文件大小超过2GB,如果我没有弄错,是远远超出IIS允许的大小。 您需要编辑metabase.xml文件以更改该值。 我相信你需要的设置是AspBufferingLimit,如果你看它,你应该看到它被设置为4194304.将它设置为2560000000,看看你是否可以下载文件。