客户端无法重新协商请求并返回 HTTP 413 错误
2008-01-10 15:17
369 查看
如果 Web 服务器、网站或站点的单个目录或文件上启用了客户端证书,则客户端在上载较大的文件时可能会看到 HTTP 413 错误。
如果客户端向运行 IIS 6.0 的 Web 服务器发送一个较长的 HTTP 请求(如 POST 请求),则 IIS 工作进程可能会收到足以解析请求标头的数据,但不会收到整个请求实体正文。当 IIS 工作进程检测到需要客户端证书以向客户端返回数据时,IIS 尝试重新协商客户端连接。不过,客户端无法重新协商连接,因为它正在等待向 IIS 发送请求中的其余数据。
如果请求客户端重新协商,则必须使用 SSL 预加载功能预加载请求实体正文。SSL 预加载功能将使用用于 ISAPI 扩展的 UploadReadAheadSize 配置数据库属性的值。但是,如果 UploadReadAheadSize 小于内容长度,则返回 HTTP 413 错误,并关闭连接以防止出现死锁。(在以下情况下出现“死锁”:客户端正在等待发送请求实体,而服务器等待完成重新协商,重新协商要求客户端能够发送数据,可是这是无法完成的。)
解决方案是确保没有禁止客户端发送整个实体正文。为此,应将 UploadReadAheadSize 的值更改为大于内容长度的值。
下例显示了如何将 Web 服务器上 UploadReadAheadSize 的值设置为 64 KB。
在命令窗口运行以下命令:
C:/>cscript.exe C:/Inetpub/AdminScripts/adsutil.vbs set w3svc/1/uploadreadaheadsize 65536
w3svc为IIS服务,1为网站的序列号(可以根据网站的日志目录来确定序列号如C:/WINDOWS/system32/Logfiles/W3SVC1/..)。
注意:对于不要求进行客户端证书身份验证的网站,不建议将 UploadReadAheadSize 属性设置为 64KB 以上,否则您将面临允许匿名拒绝服务 (DOS) 攻击的风险。当 UploadReadAheadSize 需要设置为大于 64KB 的值时,建议将 SSLAlwaysNegoClientCert 属性设置为 True,这样将要求客户端安装有效的客户端证书。
如果客户端向运行 IIS 6.0 的 Web 服务器发送一个较长的 HTTP 请求(如 POST 请求),则 IIS 工作进程可能会收到足以解析请求标头的数据,但不会收到整个请求实体正文。当 IIS 工作进程检测到需要客户端证书以向客户端返回数据时,IIS 尝试重新协商客户端连接。不过,客户端无法重新协商连接,因为它正在等待向 IIS 发送请求中的其余数据。
如果请求客户端重新协商,则必须使用 SSL 预加载功能预加载请求实体正文。SSL 预加载功能将使用用于 ISAPI 扩展的 UploadReadAheadSize 配置数据库属性的值。但是,如果 UploadReadAheadSize 小于内容长度,则返回 HTTP 413 错误,并关闭连接以防止出现死锁。(在以下情况下出现“死锁”:客户端正在等待发送请求实体,而服务器等待完成重新协商,重新协商要求客户端能够发送数据,可是这是无法完成的。)
解决方案是确保没有禁止客户端发送整个实体正文。为此,应将 UploadReadAheadSize 的值更改为大于内容长度的值。
下例显示了如何将 Web 服务器上 UploadReadAheadSize 的值设置为 64 KB。
在命令窗口运行以下命令:
C:/>cscript.exe C:/Inetpub/AdminScripts/adsutil.vbs set w3svc/1/uploadreadaheadsize 65536
w3svc为IIS服务,1为网站的序列号(可以根据网站的日志目录来确定序列号如C:/WINDOWS/system32/Logfiles/W3SVC1/..)。
注意:对于不要求进行客户端证书身份验证的网站,不建议将 UploadReadAheadSize 属性设置为 64KB 以上,否则您将面临允许匿名拒绝服务 (DOS) 攻击的风险。当 UploadReadAheadSize 需要设置为大于 64KB 的值时,建议将 SSLAlwaysNegoClientCert 属性设置为 True,这样将要求客户端安装有效的客户端证书。
相关文章推荐
- HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面
- .NET版UEditor报请求后台配置项http错误,上传功能无法使用的错误解决
- HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面
- http错误 500.19 无法访问请求的页面
- 遭遇“HTTP 错误 500.19 无法访问请求的页面,因为该页的相关配置数据无效
- 遭遇“HTTP 错误 500.19 无法访问请求的页面,因为该页的相关配置数据无效。”
- HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面
- HTTP 错误 404.3 NOT FOUND 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加MIME映射。
- svc 报“由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。“的HTTP 错误 404.3 – Not Found
- HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面
- HTTP 请求返回400 等错误的解释
- WCF布署问题 :HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
- HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。
- HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页
- 解决连接vcenter (客户端无法向服务器发送完整的请求。(基础连接已经关闭:发送时发生错误。)) 问题
- IIS 7.5 HTTP 错误 404.17 – Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
- ABP PUT、DELETE请求错误405.0 - Method Not Allowed 因为使用了无效方法(HTTP 谓词) 引发客户端错误 No 'Access-Control-Allow-Origin' header is present on the requested resource
- 利用svcutil.exe 访问windows Server 2003的wcf服务生成客户端代码报错:无法从http://XXX/XXX.svc?wsdl获取元数据”错误的解决方法
- HTTP 错误 404.2 - Not Found 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。
- HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效