gpt4 book ai didi

Apache 反向代理更改状态代码

转载 作者:行者123 更新时间:2023-12-01 00:59:26 25 4
gpt4 key购买 nike

背景
我们一直在 JBoss 上运行一个应用程序,该应用程序通过 暴露给客户端。 Apache 反向代理 .我们最近引入了“HTTP 429 Too many requests”来减慢高速请求。

问题
但是,似乎 apache2 将 HTTP 状态代码从 429 更改为 500。
根本原因分析

  • 从 JBoss 确认它通过绕过代理并直接与其交谈来发送 HTTP 429。
  • 从/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|
  • Curl 客户端以某种方式获得 500。

  • 还有一个 bug filed few years back on Bugzilla #900827 .我记得读过它已在 2.2.18 中修复。然而,我仍然面临这个问题——这让我认为可能是一个完全不同的问题。
    问题
  • 正如我在别处读到的那样,Apache 可能无法完美地为自定义 HTTP 状态代码中继代码。 But isn't HTTP 429 as a part of additional HTTP status codes RFC, a standard code enough to be recognised and relayed?
  • 我在这里遗漏了一些重要的东西吗?

  • PS:由于这个问题更多是关于 HTTP 状态规范,我在这里问。如果社区对 apache 的感觉更多,请随时投票将问题移至 Server Fault。

    最佳答案

    我只是偶然发现了你的问题,因为我再次研究了一个类似的问题,我们的 Apache 反向代理在 ActiveSync 响应 449 上返回了 500 状态代码。

    我还找到了你提到的 Bugzilla 条目以及它应该在 2.2.18 版本中修复的声明,但是我们使用 2.2.22 并且仍然面临问题。

    在进一步阅读 Bugzilla 条目中的评论之后,这将导致 apache bug entry #44995 .阅读这些评论,尤其是最后一条,让我相信这个问题,尤其是没有状态消息的自定义错误代码有 不是 已在任何 2.2.x 版本中修复,但包含在 2.3/2.4 中

    因此,我们继续将我们的反向代理更新到 2.4 版本,令我们惊讶的是,代理正确传递了错误代码 449。

    由于您没有提到您使用的 apache2 版本,我只能猜测更新到 2.4 或 2.3 可能是您的可能解决方案。

    关于Apache 反向代理更改状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24775340/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com