首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jetty-9警告: badMessage: 400个非法字符

Jetty-9警告: badMessage: 400个非法字符
EN

Stack Overflow用户
提问于 2014-09-02 22:06:34
回答 5查看 52.6K关注 0票数 30

我使用的是jetty-9.2.2和CometD-3.0.1。我在我的设置中看到了下面的警告。它一天出现大约4,5次。:

代码语言:javascript
复制
2014-08-28 08:50:53.712:WARN:oejh.HttpParser:qtp607635164-15194: badMessage: 
    400 Illegal character for HttpChannelOverHttp@5946f125{r=1,a=IDLE,uri=-}  

警告消息中没有可以调试的详细信息。我已经记录了一个请求https://bugs.eclipse.org/bugs/show_bug.cgi?id=443049来提供详细的警告。

同时,我想知道是什么导致了这个警告?我可以忽略它吗?或者一些消息因此而丢失?

EN

回答 5

Stack Overflow用户

发布于 2016-03-31 05:21:52

在url中将https更改为http

我遇到了同样的错误,然后发现是因为我的应用程序不支持https,所以jetty无法识别https加密的请求。

票数 53
EN

Stack Overflow用户

发布于 2014-09-02 22:32:00

更新2017年5月

对于Jetty 9.3+用户,您可能会看到一条日志消息,使此响应代码更加清晰。

详情请参见Header parse error after upgrade to Jetty 9.3

原始答案

解析错误的HTTP请求时可能会发生Bad Message: 400 Illegal Character

这是客户端看到的HTTP错误响应。

在某些(不是所有)情况下可能会发生这种情况。

HTTP requirement)

  • The HTTP方法令牌无法识别或后跟无效空格

  • HTTP版本无法识别或HTTP标头名称无效spec

  • HTTP标头值未遵循spec

此消息在公共(面向internet)服务器上很常见。

您收到了错误的HTTP请求。为什么?

  • 合法的超文本传输协议客户端有错误
  • 合法的超文本传输协议客户端未遵循超文本传输协议规范
  • 非超文本传输协议客户端试图连接到您的服务器(例如,试图在SSL/TLS/HTTPS端口上使用非加密的超文本传输协议,甚至像SMTP/IMAP电子邮件客户端试图与超文本传输协议端口通信)
  • 恶意客户端正试图探测您的系统是否存在弱点

<代码>F227

票数 13
EN

Stack Overflow用户

发布于 2018-02-06 18:24:23

这个错误可能是由一个愚蠢的小错误引起的,就像对我一样。

在我的localhost Jetty实例上测试时,我收到了一条非常类似的400个非法字符的消息。然后我意识到为什么。我只是假设我的本地Jetty上的应用程序地址是:

https://localhost:8080

而正确的地址是不安全的:

http://localhost:8080

那之后就没有问题了。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25625410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档