centos服务器上undertow报错

在服务器上会报异常,但不影响程序运行,用的不是80端口,想知道这是什么异常

微信截图_20190909175643.png

评论区

lzw0128

2019-09-09 22:09

还有的是 [io.undertow.server.Connectors.executeRootHandler()]: UT005071: Undertow request failed HttpServerExchange{ CONNECT www.linode.com:443} [io.undertow.server.Connectors.executeRootHandler()]: UT005071: Undertow request failed HttpServerExchange{ CONNECT www.baidu.com:443}

JFinal

2019-09-09 22:42

可能是有外部请求将你所在 ip 的服务器当成是代理服务器,或者是你所使用的 ip 以前为外部提供 API 服务

因此,有些外部请求仍然导向了你的 ip,这些请求被 undertow 接收到,并被处理成了异常

这种情况很少,只有两三个同学反馈过,我自己从来没有碰到过

你可以追踪一下请求来自的 ip,屏蔽掉这些请求,不建议处理,顶多只是通过配置 log4j.properties 忽略这类异常

lzw0128

2019-09-10 13:23

@JFinal 感谢解疑!

zzutligang

2019-09-16 18:51

我也遇到这个问题了,程序在开发机器上没问题,部署到公网上,就出现如下提示:[io.undertow.server.Connectors.executeRootHandler()]: UT005071: Undertow request failed HttpServerExchange{ CONNECT www.linode.com:443} [io.undertow.server.Connectors.executeRootHandler()]: UT005071: Undertow request failed HttpServerExchange{ CONNECT www.baidu.com:443}。尤其是这个百度的443端口请求,一时没找到怎么解决这个问题。

JFinal

2019-09-16 19:29

@zzutligang 得想个办法能在本地重现,这样才能快速解决掉,关键是我自己从来没碰到过这个问题

zzutligang

2019-09-18 18:47

我这里重现很简单,只要程序一运行,就会出现。因为暂时就只有这一台阿里云的公网服务器,所以没法在其他公网机器上测试是否也会有这个问题。

JFinal

2019-09-18 22:58

@zzutligang 添加一些代码,将出问题的请求信息完整的记录下来,然后要能在本地通过 postman 这类 http 工具重现才可以

注意,要在本地重现这个问题,然后将请求信息发给我,我在我本地重现,然后就好解决了

在本地重现就可以方便进行调试跟踪问题出在哪里,才能解决

既然你那里可以重现,一定要再次反馈给我,谢谢

山东小木

2019-09-19 10:12

@JFinal jfinal中要不要内置提供一个IP白名单过滤handler

zzutligang

2019-09-20 12:58

@JFinal,我看看本地是否能重现,现在只要在公网上运行就报这个信息,本地我试过很多次,不管怎么运行都没看到这个信息。一开始我一直怀疑是哪个库在公网上一运行会往外连接信息。后来判断应该不是。我这段时间再追查一下,只要能重现,我随时发给你!

JFinal

2019-09-20 13:33

@zzutligang 非常感谢

zzutligang

2019-09-24 13:09

@JFinal,很遗憾,在本地无论如何都没出现这样的提示,但只要在阿里云服务器上运行,就报这个信息。屡试不爽!

JFinal

2019-09-24 19:51

@zzutligang 远程调试是最好的一招:
http://www.jfinal.com/share/1528
http://www.jfinal.com/feedback/5106

一定要找到源因

doubuxingle

2019-11-15 11:00

@JFinal
我昨天服务器(win2008)刚上的系统, 今天看日志也出现这个问题了。本地(win7)跑了好几周,也没有出现过。
[ERROR]-[Thread: XNIO-1 I/O-5]-[io.undertow.server.Connectors.executeRootHandler()]: UT005071: Undertow request failed HttpServerExchange{ CONNECT www.linode.com:443}
java.lang.IllegalArgumentException: UT000068: Servlet path match failed
at io.undertow.servlet.handlers.ServletPathMatchesData.getServletHandlerByPath(ServletPathMatchesData.java:83)
at io.undertow.servlet.handlers.ServletPathMatches.getServletHandlerByPath(ServletPathMatches.java:88)
at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:146)
at io.undertow.server.handlers.HttpContinueReadHandler.handleRequest(HttpContinueReadHandler.java:65)
at io.undertow.server.handlers.PathHandler.handleRequest(PathHandler.java:91)
at io.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:66)
at io.undertow.server.handlers.SetHeaderHandler.handleRequest(SetHeaderHandler.java:90)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:376)
at io.undertow.server.protocol.http.HttpReadListener.handleEventWithNoRunningRequest(HttpReadListener.java:255)
at io.undertow.server.protocol.http.HttpReadListener.handleEvent(HttpReadListener.java:136)
at io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:162)
at io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:100)
at io.undertow.server.protocol.http.HttpOpenListener.handleEvent(HttpOpenListener.java:57)
at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
at org.xnio.ChannelListeners$10.handleEvent(ChannelListeners.java:291)
at org.xnio.ChannelListeners$10.handleEvent(ChannelListeners.java:286)
at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
at org.xnio.nio.QueuedNioTcpServer$1.run(QueuedNioTcpServer.java:129)
at org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:582)
at org.xnio.nio.WorkerThread.run(WorkerThread.java:466)

doubuxingle

2019-11-15 11:01

时间在凌晨5.25 ~5.35之间,连续抛了10多个这个异常

简单代码

2019-12-02 13:09

@doubuxingle @JFinal @zzutligang 我在JBoss网站看到说,这是因为外部请求异常中断导致的一个提示,不能算错误,而且我单独使用undertow也没有发现,是前端是nginx的时候发现的。波总看看是不是这个问题,我不知道怎么去分析。
https://issues.jboss.org/browse/UNDERTOW-950

zzutligang

2019-12-02 14:30

@简单代码,我们的生产环境前面没用nginx,前面这位老兄出现的是:{ CONNECT www.linode.com:443},而我的出现的是:{ CONNECT www.baidu.com:443},这很奇怪。

简单代码

2019-12-02 14:51

@zzutligang 我的上面这两个网址都出现了,是不是爬虫类的扫描软件连接后,直接断开导致的异常?

巨轮深港啊

2020-01-16 09:04

部署到服务器上遇到这个问题 夭寿拉