413 - 请求实体太大 IIS 和 SSL

Posted

技术标签:

【中文标题】413 - 请求实体太大 IIS 和 SSL【英文标题】:413 - Request Entity Too Large IIS and SSL 【发布时间】:2015-05-13 16:21:13 【问题描述】:

当我尝试通过 SSL 向 Asp.net Web API 发送一个非常大的 POST 调用时,我收到了这个错误。 我知道重新谈判的现象。 我的 uploadReadAheadSize 设置为最大值。 (2147483647)

谁能告诉我一些我应该尝试的选择吗?

这是来自 Chrome 开发控制台的请求和响应:

我也尝试了以下命令,但没有结果:

C:\Windows\System32\inetsrv\appcmd.exe 设置配置“Web API” -section:system.webServer/ServerRuntime /enabled:"1024000" /commit:apphost

C:\Windows\System32\inetsrv\appcmd.exe 设置配置“Web API” -section:system.webServer/ServerRuntime /uploadReadAheadSize:"1024000" /commit:apphost

【问题讨论】:

IIS7 - (413) Request Entity Too Large | uploadReadAheadSize的可能重复 您的链接涉及 WCF 服务的问题。我在谈论 Web API。对不起,我应该提到这一点。 【参考方案1】:

重要提示:此答案适用于 HTTPS

    转到配置目录

    C:/Windows/System32/inetsrv/config/

    在编辑模式下打开 applicationHost.config 文件。

    为您的应用添加此配置

    示例:配置为 1 MB 上传

<location path="SiteName" overrideMode="Allow">
   <system.webServer>
     ......
      <serverRuntime enabled="true" uploadReadAheadSize="1024000" />     
     .....
   </system.webServer>
</location>
    在 IIS 中重新启动您的站点

【讨论】:

【参考方案2】:

我在 Rest WCF Web API 中遇到了问题,并得到了如下所述的解决方案:

<webHttpBinding>
    <binding 
        maxBufferPoolSize="2147483647" 
        maxReceivedMessageSize="2147483647" 
        maxBufferSize="2147483647" 
        transferMode="Streamed">
    </binding>  
</webHttpBinding>

【讨论】:

以上是关于413 - 请求实体太大 IIS 和 SSL的主要内容,如果未能解决你的问题,请参考以下文章

IIS7、SSL 和“页面未显示,因为请求实体太大。”

WCF 413 请求实体太大 - 自托管 WebHttpBinding

上传报告失败 - HTTP 代码 413:页面未显示,因为请求实体太大

iis7 https 发生413错误 未显示页面,因为请求实体过大

具有 30mb 输入字符串的 WCF 服务 - 远程服务器返回错误:(413)请求实体太大

IIS 8.5 请求实体太大在 IE 11 中发生,但在 Chrome 中没有