它似乎在Win2003的R2企业x64 SP2 IIS6不会让你在URL路径中使用.COM。
例如,如果我在网站根目录创建一个文件夹foo.com,包含Default.htm的,这个网址出现了404:
HTTP://localhost/foo.com/default.htm
然而,下面就Win2003的R2标准的x86 SP2完全相同的步骤,IIS6 将成为该文件就好了。
无论是服务器的URLScan安装。
有没有办法告诉在Win2003的IIS6的x64允许.COM的URL路径?
它似乎在Win2003的R2企业x64 SP2 IIS6不会让你在URL路径中使用.COM。
例如,如果我在网站根目录创建一个文件夹foo.com,包含Default.htm的,这个网址出现了404:
HTTP://localhost/foo.com/default.htm
然而,下面就Win2003的R2标准的x86 SP2完全相同的步骤,IIS6 将成为该文件就好了。
无论是服务器的URLScan安装。
有没有办法告诉在Win2003的IIS6的x64允许.COM的URL路径?
这看起来可能与你看到的问题:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;826437
编辑:
而最近
http://support.microsoft.com/kb/932552
难道“VerificationCompatibility”是答案吗? 在Win 64,它在这里注册表中的发现:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\ASP.NET\VerificationCompatibility = 1
阅读约占更改此设置之前,“越来越多的攻击面”。
我们发现在IIS7用的Win2008 x64的什么,IIS似乎呛许多“不寻常”的字符。 下面是我们特殊对待的字符:
\r \n \t . ? & : * + "
即使编码正确,我们得到400从服务器返回如果这些查询字符串之前 。
OK问题就解决了。 这个职位,而不是直接给出答案,给了我足够的线索的:
王大卫的博客
基本上,我的64位IIS网站有它的执行配置的“脚本和可执行文件”的权限,而我的X86 IIS站点已配置“仅脚本”
如此看来,尽管.COM只出现在我的URL路径,IIS是把它当作一个可执行文件,它没有任何应用程序映射因此HTTP 404