未显示该页,因为请求实体在 IIS 上太大
本文关键字:IIS 实体 请求 显示 因为 | 更新日期: 2023-09-27 17:55:13
我在将一个页面重定向到另一个网页时收到以下错误:
"页面未显示,因为请求实体太大。"
我重定向到另一个页面的页面包含大量数据,所以基本上我知道问题的原因。
但是,我正在寻找一个可行的解决方案。其次,当我研究这个问题时,我发现上传任何大文件时都会产生这种问题。
但我没有上传任何大文件,它只是页面本身包含大数据。及时的解决方案将不胜感激。
启用了SSL,这将解决问题:
在 IIS7.5 上的 applicationHost.config 文件中设置 uploadReadAheadSize 将解决这两种情况下的问题。您可以直接在 applicationhost.config 中修改此值。
在"默认网站"下选择站点
选择配置编辑器
在"部分下拉列表"中,选择"system.webServer/serverRuntime"
为"上传提前读取大小"输入更高的值,例如1048576字节。 默认值为 49152 字节。
在客户端重新协商过程中,必须使用 SSL 预加载预加载请求实体正文。SSL 预加载将使用 UploadReadAheadSize 元数据库属性的值,该属性用于 ISAPI 扩展
参考。
我通过执行以下操作让它工作
- 转到 IIS。
- 单击服务器名称
- 在功能(图标)中,选择配置编辑器。
- 单击顶部的下拉菜单 设置"
- 遍历路径 system.webServer -> security -> requestFiltration -> maxAllowedContentLength 并将其设置为 334217728。(然后按回车键,然后在右上角应用)。
您还可以重新启动Web服务器以进行良好的衡量。之后,我可以将我的 150k 数据库上传到 phpymyadmin。
我还在 php 中将post_max大小设置为 8000.ini在 programs/PHP/phpversion/php 中.ini
对于大小来说,这可能是矫枉过正的,但是当您有大文件时,它可以完成工作。
,uploadReadAheadSize并没有解决我的问题。
我在 web.config asp.net 中更改了这两个设置,最后为我上传了文件:
<system.web>
<system.webServer
<httpRuntime executionTimeout="999999" maxRequestLength="20000" requestValidationMode="2.0" /> <!-- 20 MB -->
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="20500000" /> <!-- 20.5 MB - making it match maxRequestLength to fix issue with uploading 20mb file -->
</requestFiltering>
</security>
</system.webServer>
另一个可能的原因是身份验证设置。 在 IIS7 中,
-
在"默认网站"下选择站点
-
选择身份验证
-
选择"Windows 身份验证并启用"。 禁用所有其他功能。
-
当 Windows 身份验证仍处于选中状态时,单击"操作"窗格中的"高级设置"。
-
确保"扩展保护"处于"接受"状态,并选中"启用内核模式身份验证"
我遇到了同样的错误,上面的修复不起作用。我只在HTTP(本地主机)上但是,这修复了413错误
Set-WebConfigurationProperty -filter /system.webserver/security/requestfiltering/requestLimits -name maxAllowedContentLength -value 134217728
我做了上述操作,但仍然没有快乐。
为我解决问题的也是提高请求限制: - 在 IIS 管理器中选择站点 - 从右侧菜单中单击"编辑功能设置" - 插入 200000000 作为"允许的最大内容长度"
就我而言,下载文件时发生错误。
原因是,我有一个代码,在(错误)的情况下显式地向客户端发送HTTP 413。
(详见此处)。
因此,请注意,在代码(或正在使用的库中)设置 HTTP 响应代码 413 也会生成 OP 的错误消息。