首页 >> 编程资讯

IIS 7.0或7.5出错的解决方案,如"IIS请求筛选模块被配置为拒绝包含双重转义序列的请求"等

2011-05-31 01:11:06

 一、请求筛选模块被配置为拒绝包含双重转义序列的请求。HTTP 错误 404.11 - Not Found   

1.单击 开始 。 在 开始搜索 框中, 键入 Notepad. 右击 记事本 , 然后单击 作为管理员运行 。  

注意 如果提示用于管理员密码或用于确认, 键入密码, 或单击 继续 。   
2.在 文件 菜单上, 单击 打开 。 在 文件名 框中, 键入 %windir%system32inetsrvconfigapplicationhost.config然后单击 打开 。    
3.在 ApplicationHost.config 文件, 定位 文件中的 configuration/system.webServer/security/requestFiltering/下   
<requestFiltering> 节点。大约360行   
将<requestFiltering>   
改为   
<requestFiltering allowDoubleEscaping="true">   
即可  

二、关于IIS7.0上传大文件出错的解决方案(描述: 请求筛选模块被配置为拒绝超过请求内容长度的请求)  

使用IIS7.0的asp上传大文件时出现如下错误:   
    
HTTP Error 404.13 - Not Found  

描述: 请求筛选模块被配置为拒绝超过请求内容长度的请求。    
错误代码: 0x00000000    
通知: BeginRequest    
模块: RequestFilteringModule    
请求的 URL: http://localhost:80/u2/upfile.asp    
物理路径: G:webu2upfile.asp    
登录用户: 尚未确定    
登录方法: 尚未确定    
处理程序: ASPClassic    
最可能的原因:    
Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值。    
可尝试的操作:    
确认 applicationhost.config 或 web.config 文件中的 configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength 设置。  
访问是运行 Internet Information Services 7.0 服务器上承载 Web 站点时出现错误信息: " HTTP 错误 404.13 - CONTENT_LENGTH_TOO_LARGE "   
    
解决方案如下  

要解决此问题, 请按照下列步骤:   
1.单击 开始 。 在 开始搜索 框中, 键入 Notepad. 右击 记事本 , 然后单击 作为管理员运行 。  

 

 

注意 如果提示用于管理员密码或用于确认, 键入密码, 或单击 继续 。   
2.在 文件 菜单上, 单击 打开 。 在 文件名 框中, 键入 %windir%system32inetsrvconfigapplicationhost.config然后单击 打开 。    
3.在 ApplicationHost.config 文件, 定位 < requestLimits > 节点。   
4.删除 maxAllowedContentLength 属性。 或者, 添加值相匹配的 Content-Length 报头, 客户端发送请求作为大小。 默认情况下, 的 maxAllowedContentLength 属性值是 30000000。   

例如, 修改下列代码。  

<requestLimits maxAllowedContentLength ="<length>" />   
5.保存 ApplicationHost.config 文件。   

其实II7.0默认的出错,已经告诉我们如何做了,呵呵,这点要比IIS6.0人性化多了。   
修改后cmd命令行下打iisreset重起IIS(或是直接使用IIS管理器重起),重新上传文件依旧出错。   
不过这就是传统的错误了。   
修改MaxRequestEntityAllowed 即可,IIS6.0里,需要如下操作(详见:突破IIS6上传和下载文件尺寸***)   
解决方法:   
首先停止 IIS 服务,之后打开 C:WindowsSystem32Inetsrv 中的 metabase.XML, 并修改 AspMaxRequestEntityAllowed 为你需要的值(例如 1073741824, 1GB)。    
启动IIS服务。  

IIS7.0里,内置的ASP模块已经带了这个属性,可以直接修改   
步骤如下:   
单击所需要站点的名称-在“功能视图”里面双击“ASP模块”,打开“***属性”,将最后一项“最大请求实体主体***[maxRequestEntityAllowed]”改为你需要的值(例如 1073741824, 1GB)。    
同时,请注意如果你上传的文件较大,请考虑一下“脚本超时[scriptTimeOut]”是否需要更改,   
默认是00:01:30,yaosansi这里改成了00:05:30,当然你也可以在ASP程序里更改超时时间。  

三、应用程序中的服务器错误 HTTP Error 404.3 - Not Found  描述: 由于 Web 服务器上配置的多用途 Internet 邮件扩展(Multipurpose Internet Mail Extensions, MIME)映射策略的原因,无法处理所请求的页面。您请求的页面具有无法识别的文件扩展名,因而不被允许。

  错误代码: 0x80070032   

最可能的原因:   

可能是缺少处理程序映射。默认情况下,静态文件处理程序将处理所有内容。    
您要使用的功能可能尚未安装。    
没有为网站或应用程序启用相应的 MIME 映射。(警告: 请不要为用户不应下载的 .ASPX 页或 .config 文件等内容创建 MIME 映射。)    
可尝试的操作: 系统盘:windowsServiceProfilesNetworkServiceAppDataLocalTemp这个目录添加一个"Autheticated Users“的读写许可即可。   

修改:    
C:WindowsSystem32inetsrvconfigapplicationHost.config    
该文件第108行原文:    
<processModel identityType="NetworkService" />    
修改为:    
<processModel identityType="NetworkService" loadUserProfile="false" />   

四、IIS7.0 ASP无法正常连Access数据库问题   
在解决这个问题前先说下Vista IIS7.0 ASP环境的配置,如果IIS是默认安装的,那么ASP程序是不能运行的,当在IE中打开扩展名为.ASP文件的时候,iis会当着普通的网页文件来显示。在IE中查看文件的源代码,可以看到ASP文件的所有原始代码,就跟我们双击打开文件一样的。我们需要安装一些功能来支持ASP应用程序的解析,打开:控制面板- 程序 - 程序和功能 - 打开或关闭Windows功能,按照下面这个图示,把相应的ASP选上就行了。  

设置好IIS(开启”启用父目录路径”,要不你用../路径的时候可能会出错),做好相关站点的设置,可是运行的时候就提示:  

引用[Microsoft][ODBC Microsoft Access 驱动程序] 磁盘或网络错误。   或(就看你用什么方式连Access了)  

引用Microsoft JET Database Engine 错误 ’80004005’   
未指定的错误   
/inc/conn.asp,行 10   
  
解决办法   
把C:WindowsServiceProfilesNetworkServiceAppDataLocal下的Temp目录添加了everyone的读写权限。再一访问就OK了,至此问题解决 (everyone加读写是我为省事自己加的,其实还可以加的再”精确”点,具体见下)  

引用 网上还有一说法给“系统盘:WindowsServiceProfilesNetworkServiceAppDataLocalTemp”目录添加一个“Authenticated Users”的用户,其中AppData目录是隐藏的,在进入的时候可以直接在地址栏输入路径,或者在文件夹选项里显示隐藏文件