背景
我们一直在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|
还有一个bug filed few years back on Bugzilla #900827。我记得读过它已在2.2.18中修复过。然而,我仍然面临着这个问题 - 这让我觉得可能完全存在不同的问题。
问题
PS:由于这个问题更多是关于HTTP状态规范,我在这里问。如果社区更多地了解apache,请随时投票将问题移至服务器故障。
答案 0 :(得分:3)
我只是偶然发现了你的问题,因为我再次研究了一个类似的问题,我们的Apache反向代理在ActiveSync Response 449上返回了500状态代码。
我还发现了你提到的Bugzilla条目和它应该用2.2.18版本修复的声明,但是我们使用2.2.22仍然遇到了问题。
在进一步阅读Bugzilla条目中的评论后,然后导致apache bug entry #44995。阅读这些评论,特别是最后一条评论让我相信这个问题,特别是没有状态信息的自定义错误代码已经在任何2.2.x版本中修复了不,但是包含在2.3 / 2.4中/ p>
所以我们继续并将我们的反向代理更新为2.4版本,令我们惊讶的是,代理正确地传递了错误代码449。
正如您没有提到您使用的apache2版本,我只能猜测2.4或2.3的更新可能是您可能的解决方案。