背景
我们已经在JBoss上运行了一个通过Apache反向代理暴露给客户端的应用程序。我们最近引入了“ HTTP 429太多请求”以减慢高速请求。
问题
但是,似乎apache2将HTTP状态代码从429更改为500。
根本原因分析
从/var/log/apache2/access.log确认,apache2获得HTTP 429
10.0.0.161 - - [16/Jul/2014:07:27:47 +0000] "POST /the/URL/ HTTP/1.1" 429 1018 "-" "curl/7.36.0" |0/466110|
几年前,在Bugzilla#900827上还存在一个错误。我记得读过它在2.2.18中已修复。但是,我仍然面临这个问题-这使我认为可能完全存在另一个问题。
问题
PS:由于这个问题更多地是关于HTTP状态规范的,所以我在这里问。如果社区对Apache有更多了解,请随时投票将问题转移到Server Fault。
我偶然发现了您的问题,因为我再次研究了一个类似的问题,我们的Apache反向代理在ActiveSync响应449上返回了500状态代码。
我还找到了您提到的Bugzilla条目,并声明应该在2.2.18版中对其进行修复,但是我们使用2.2.22仍然会遇到问题。
在进一步阅读Bugzilla条目中的注释之后,这些注释随后导致apache bug条目#44995。阅读这些评论(尤其是最后一条评论)使我相信,该问题(尤其是带有无状态消息的自定义错误代码)在任何2.2.x版本中均未得到解决,但已包含在2.3 / 2.4中
因此,我们继续前进并将反向代理更新为2.4版本,令我们惊讶的是,错误代码449被代理正确传递了。
正如您没有提到所使用的apache2版本一样,我只能猜测将2.4或2.3更新为您可能的解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句