博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IIS7 https 发生413错误 未显示页面,因为请求实体过大
阅读量:6695 次
发布时间:2019-06-25

本文共 1024 字,大约阅读时间需要 3 分钟。

参考文档:     

                    

                    

 

 

如果 Web 服务器、网站或站点的单个目录或文件上启用了客户端证书,则客户端在上载较大的文件时可能会看到 HTTP 413 错误。

如果客户端向运行 IIS 6.0 的 Web 服务器发送一个较长的 HTTP 请求(如 POST 请求),则 IIS 工作进程可能会收到足以解析请求标头的数据,但不会收到整个请求实体正文。当 IIS 工作进程检测到需要客户端证书以向客户端返回数据时,IIS 尝试重新协商客户端连接。不过,客户端无法重新协商连接,因为它正在等待向 IIS 发送请求中的其余数据。

如果请求客户端重新协商,则必须使用 SSL 预加载功能预加载请求实体正文。SSL 预加载功能将使用用于 ISAPI 扩展的 UploadReadAheadSize 配置数据库属性的值。但是,如果 UploadReadAheadSize 小于内容长度,则返回 HTTP 413 错误,并关闭连接以防止出现死锁。(在以下情况下出现“死锁”:客户端正在等待发送请求实体,而服务器等待完成重新协商,重新协商要求客户端能够发送数据,可是这是无法完成的。)

解决方案是确保没有禁止客户端发送整个实体正文。为此,应将 UploadReadAheadSize 的值更改为大于内容长度的值和最大请求实体主体限制更改为大于文件大小。

关于如何设置IIS7的配置,请参考

一. 配置UploadReadAheadSize 

Appcmd.exe命令位于"%WinDir%\System32\Inetsrv"

 

appcmd.exe set config  -section:system.webServer/serverRuntime /uploadReadAheadSize:"49152"  /commit:apphost

你把"uploadReadAheadSize"的值逐渐改大来做测试,比如可以98304 -> 196608 -> 393216。

二. 配置MaxRequestEntityAllowed

在IIS“功能视图”中双击“ASP”模块,打开“限制属性”,将最后一项“最大请求实体主体限制[maxRequestEntityAllowed]”改为你需要的值(例如 1073741824, 1GB)。

同时,请注意如果你上传的文件较大,请考虑一下“脚本超时[scriptTimeOut]”是否需要更改, 默认是00:01:30,这里改成了00:05:30。

 

转载地址:http://gzvoo.baihongyu.com/

你可能感兴趣的文章
[置顶] Android 平台上蓝牙开发的关于 UUID 设置的注意事项
查看>>
Linux 安装配置 java环境 教程
查看>>
循序渐进Python3(十一) --4-- web之jQuery
查看>>
osg点选pick物体
查看>>
[03] react 测试
查看>>
Python文件指针与Python函数
查看>>
ORM系列之Entity FrameWork详解
查看>>
[转] java Class类
查看>>
编码转换
查看>>
MVC报错的坑
查看>>
那些争议最大的编程观点
查看>>
极简科普 1:什么是 VOIP
查看>>
11.10 (下午)开课二个月零六天(ajax验证用户名,ajax调数据库)
查看>>
PXC 避免加入集群时发生SST
查看>>
JS基础语法
查看>>
python 的一些tip 02
查看>>
int转字符串 stringstream
查看>>
pip升级时报错--- No module named 'pip._internal'
查看>>
大白话搞懂什么是同步/异步/阻塞/非阻塞
查看>>
Fiddler抓包工具总结二(转自小坦克)
查看>>