VisualSVN Server 2.5.2在尝试提交multigigabyte文件时报告“413 Request Entity Too Large”

在尝试将大文件(多GB)提交到Windows XP机器上VisualSVN 2.5.2 Server的新本地安装时,出现以下错误。

“413请求实体太大”

我正在使用Windows身份validation,并且已经将以下设置(然后重新启动服务器)添加到httpd-custom.conf:

LimitXMLRequestBody 0 LimitRequestBody 0 

如果重要,我使用TortoiseSVN作为客户端。

还有什么需要做VisualSVN服务器接受大文件?

更新 :

SVNServer事件查看器的内容:

2012年1月13日下午3时31分45秒VisualSVN Server 2.5错误Apache 1001 CORP \ sam.johnson IOMFOX0960L无法获得下一个桶旅[500,#0] [客户端10.155.60.53]
2012/1/13 3:31:45 VisualSVN服务器2.5错误Apache 1001 CORP \ sam.johnson IOMFOX0960L无效的Content-Length [客户端10.155.60.53]

您在http_filters.c的validation代码块上发生错误:

 /* Protects against over/underflow, non-digit chars in the * string (excluding leading space) (the endstr checks) * and a negative number. */ if (apr_strtoff(&ctx->remaining, lenp, &endstr, 10) || endstr == lenp || *endstr || ctx->remaining < 0) { ctx->remaining = 0; ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, f->r, "Invalid Content-Length"); return bail_out_on_error(ctx, f, HTTP_REQUEST_ENTITY_TOO_LARGE); } 

所以,你删除请求正文限制是成功的。 看起来客户有错; 龟似乎是发送Content-Length头中的无效数据。 有什么办法可以捕获完整的HTTP请求(它需要是未encryption的http,并且需要像wireshark这样的捕获工具)来检查它在头部发送的内容。

“413请求实体太大”的提交错误相当于客户端的问题,而不是服务器的问题。

Subversion客户端默认使用氖库进行networking通讯。 该库不支持正确传输大文件到Subversion服务器。

作为解决方法,您可以从霓虹灯切换到农奴库。 在客户机上执行以下步骤:

  1. 打开文件%APPDATA%\Subversion\servers
  2. find[global]部分
  3. 将以下选项添加到[global]部分: http-library=serf
  4. 保存服务器文件并尝试再次提交