【问题标题】:How can I identify the reason for an http 400 error code tomcat?如何确定 http 400 错误代码 tomcat 的原因?
【发布时间】:2020-06-18 15:18:51
【问题描述】:

我们的一些请求出现间歇性 400 响应错误,我试图找出 400 的原因。来自 tomcat 的访问日志显示了 400 响应。所以我在tomcat的request-dumper过滤器中添加了。查看日志,当 400 发生时,我没有从这个过滤器中得到任何东西。在 request-dumper 日志中,在此错误之前和之后的成功请求的信息都在日志​​中,但没有生成 400 响应的请求的信息。我正在寻找有关在 tomcat 中跟踪什么/如何跟踪此问题的建议。我认为请求转储程序会这样做,但正如我所说,该日志中没有生成任何内容。

【问题讨论】:

  • 400 是一个错误的请求。您说生成 400 的请求没有任何内容这一事实似乎本身就是一个答案。
  • tomcat 访问日志的 get URL 列出了 400 响应。我们可以使用相同的 URL 并粘贴到浏览器中,它可以工作。
  • 但是应该有什么东西被发送了,但不是吗?即这是一个期望的调用,例如,JSON 的 POST 主体,但它不存在?
  • 这是一个获取请求。我已经研究了 400 的潜在原因。URL 很好。有时完全相同的事情也有效。我想看看,我们是否超出了我们的 cookie?我们所说的发送的长度是否与实际发送的长度不同?所以我需要看看实际的标头发送了什么。饼干是什么...
  • 你使用的是什么版本的Tomcat?根据this post,标题应该被转储。

标签: tomcat http-headers http-status-code-400


【解决方案1】:

在我们的 API 将 tomcat 从 Tomcat_7 升级到 Tomcat_9 后,我也面临同样的问题。相同的代码在版本 7 中运行良好。它是来自前端应用程序的 GET 调用,它对在 TC_9 上运行的 API 进行调用。现在托管 API 的 Tomcat-9 正在拒绝调用 400 bad request

需要注意的一点 - URL 中的一个查询参数有很多(大约 60-70 个)逗号分隔值,例如 https://?custId=value1&attribute=v1,v2,v3,v4,.. ........,v70

因此整个 URL 中的文本字符总数约为 4000+

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-23
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多