SSLVerifyClient 导致的上传文件失败问题
自某年某月某日起,某 Plone 服务出现一个严重问题,上载文件稍微大一点就会出错。当时懒得折腾,今天领导敦促,于是试图解决之。直觉告诉我问题不在 Zope 里,前端的 Apache 出问题的可能性比较大。看日志,果然如彼:
[Wed Dec 05 13:54:30 2007] [error] [client ##.##.##.##] request body exceeds maximum size for SSL buffer, referer: ...
[Wed Dec 05 13:54:30 2007] [error] [client ##.##.##.##] could not buffer message body to allow SSL renegotiation to proceed, referer: ...
骨骼了一下,发现 [ASF39154] 提到了这个问题,回答是:
This does not work on directory level with large files, because we currently do not buffer the request body on disk but only 128k at max in memory. Moving SSLVerifyClient require to virtual host level will make it work (see also PR12355)
好吧,虽然我用的是 SSLVerifyClient optional 不过原因是一样的,于是照做,把这个东西搬到 <VirtualHost> 上下文里,于是问题解决了。隐约回忆一下,似乎当初用 Plone 默认登录方式的时候是没这问题的。据传 Apache 这样设计是为了防止被 DoS 死,大汗!
不过这个 virtual host 里除了 Zope 还运行着其它东西,试验了一下在其它 <Location> 上下文里加入 SSLVerifyClient none 还是要做一次可选的验证,似乎不起作用,不解。先不管了,大不了另找个机子移过去。
| [ASF39154] | Problem with webdav over SSL with client certificate autentication <http://issues.apache.org/bugzilla/show_bug.cgi?id=39154> |
- adoal's blog
- 1927 次点击

评论
发表新评论