是什么触发了Apache的413错误(没有modsecurity)?

时间:2018-10-19 01:16:42

标签: apache http

我的一位客户报告说,在使用我们的应用程序时看到413 HTTP错误。

我了解这是一个错误,提示内容太大:

  

413有效载荷过大

但是,客户端试图发送一个很小的文件(12Kb以下)。不仅如此,一次又一次地尝试,我们没有遇到413错误。我们无法复制该错误。

我没有安装modsecurity。我没有使用PHP(我的代码是C ++)。

我的CGI实际上告诉我,Apache与Apache之间的连接已中断,因此我可以忽略该错误是由我的代码生成的。它必须在Apache2的一端。

在寻找可能导致问题的原因时,我发现了几件东西,没有一件适合我们的环境。

  • URL太长
  • 使用GET而不是POST
  • 已安装modsecurity,并且正在上传的文件之一太大
  • 使用了PHP,并且其大小大于php.ini允许的大小

我确定该计算机上没有modsecurity或PHP。

URL非常短(原始63个字符),日志清楚地表明使用了POST。这里有Apache2日志:

  

finball.m2osw.com:443 50.255.47.1--[03 / Oct / 2018:22:10:59 +0000]“ POST / finball / invoice / finball1-56149 HTTP / 1.1” 413345“ www.example .com“” https://www.example.com/finball/invoice/finball1-56149?a=edit“” Mozilla / 5.0(Windows NT 6.1; rv:62.0)Gecko / 20100101 Firefox / 62.0“​​ TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384

我的应用程序日志清楚地表明套接字已关闭(在这种情况下,套接字为stdin,是Apache2和CGI之间的管道):

  

2018/10/03 22:10:59 finball1 Snap [22975]:致命错误:快照子进程:从服务器子进程中的套接字读取环境时发生错误(缺少第一个POST边界。) 。 (503服务不可用:网络连接不稳定)(在函数“ die()”中)(snap_child.cpp:6845)

我们期待着POST数据,但它永远不会到达。然后,我的应用程序返回503错误。但是,正如我们在Apache日志中看到的那样,客户端改为收到413。

还有什么会导致Apache2返回413 HTTP错误代码?

0 个答案:

没有答案