特定用户的 Apache,mod_ssl“请求失败:读取标头时出错”
Posted
技术标签:
【中文标题】特定用户的 Apache,mod_ssl“请求失败:读取标头时出错”【英文标题】:Apache, mod_ssl "request failed: error reading the headers" for a specific user 【发布时间】:2012-06-20 11:09:03 【问题描述】:目前我们有一个运行 Django 的带有 mod_ssl 2.2.3 的 Apache 2.2.3 服务器,用户使用 x509 证书进行身份验证。
到目前为止,系统运行良好,除了一个用户,他在尝试上传文件时收到 400 Bad Request 错误,有关此操作的 ssl_error_log 的内容是:
[
ssl_access_log 的内容是:
另外,据我所知,用户的浏览器是 Firefox。
我完全无法重现此错误,到目前为止,其他用户都没有遇到过。您能指出发生这种情况的一些原因吗?
【问题讨论】:
【参考方案1】:我遇到过在发送 X 个字节后停止上游的连接。 X 是一个相当低的值,足以请求一些简单的页面,但不能处理 ajax 请求,更不用说上传文件了。据我记得,这种连接问题仅在网络共享时发生(来自特定的 android 手机,但我什至没有测试其他手机)。
因此,如果上游中断并且上传停止,则 apache 将返回此错误是有道理的,根据 this post:“Apache 等待时间等于 Timeout 指令的时间(如果未定义,则默认为 5 分钟)来自客户端的响应。很可能 Apache 正在等待指示标头结束的 CRLF,但从未收到。。"
【讨论】:
感谢您的解释,有什么办法可以解决这个问题吗? 您必须修复客户端。阿帕奇只是在做它的工作。在大多数情况下修复客户端是不切实际的,但如果您可以控制客户端,只需将其浏览器升级到更高版本。以上是关于特定用户的 Apache,mod_ssl“请求失败:读取标头时出错”的主要内容,如果未能解决你的问题,请参考以下文章
根据 URL 路径或 apache(mod_ssl) 中的特定服务设置 SSL/TLS 协议版本
如何使用 Apache mod_ssl 变量验证 URI 格式的主题备用名称的内容?
X.509 客户端身份验证的 Apache + mod_ssl 中间 CA 自动发现