如何将Kentico 10 REST服务的POST/PUT请求上限提升至64KB以上
解决Kentico 10 REST API请求实体过大(413错误)的问题
我之前帮不少开发者搞定过Kentico 10里这个REST接口请求大小限制的坑,咱们一步步来排查解决:
1. 先调整Kentico REST API的专属配置
这是最关键的一步——很多人只改web.config,却忽略了Kentico本身给REST服务设的独立上限:
- 登录Kentico管理后台,进入 Settings -> Integration -> REST API
- 找到「Maximum request size (KB)」这个选项,默认是64,直接改成你需要的数值(比如10240对应10MB)
- 保存设置后,一定要重启站点的应用池,让配置生效
2. 确保IIS/web.config的通用请求限制也放开
即使Kentico端放开了,IIS的默认限制也可能拦下来,所以要同步修改web.config的两个地方:
- 在
<system.web>节点下的<httpRuntime>中,设置maxRequestLength(单位是KB):
<httpRuntime targetFramework="4.6.1" maxRequestLength="10240" />
- 在
<system.webServer>节点下的<security>-><requestFiltering>中,设置maxAllowedContentLength(单位是字节,10MB就是10485760):
<security> <requestFiltering> <requestLimits maxAllowedContentLength="10485760" /> </requestFiltering> </security>
3. 排查额外拦截因素(如果前两步没用)
如果还是报413,可能是有自定义逻辑在搞鬼:
- 检查项目里有没有自定义的
IRestRouteHandler实现,或者全局HTTP模块,这些可能会额外限制请求大小 - 去Kentico后台的 System -> Event log 看看有没有更详细的错误日志,有时候413只是表面现象,日志里会告诉你具体哪个环节拦截了请求
为什么管理后台没这个问题?
Kentico的管理后台用的是完全独立的请求处理管道,它不走REST API的限制逻辑,所以即使传大文件也不会触发这个64KB的上限。
内容的提问来源于stack exchange,提问作者cganickel
相关产品推荐
相关产品推荐

