【发布时间】:2020-11-20 20:42:55
【问题描述】:
我将 SpringBoot 项目部署到 AWS EC2 实例后,经常出现异常:
2020-07-31 01:56:21.487 DEBUG 7340 --- [nio-8080-exec-1] o.a.tomcat.util.net.SocketWrapperBase : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@3d89313d:org.apache.tomcat.util.net.NioChannel@11d95ea0:java.nio.channels.SocketChannel[connected local=/172.31.38.151:8080 remote=/198.98.61.139:33842]], Read from buffer: [0]
2020-07-31 01:56:21.487 DEBUG 7340 --- [nio-8080-exec-1] org.apache.tomcat.util.net.NioEndpoint : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@3d89313d:org.apache.tomcat.util.net.NioChannel@11d95ea0:java.nio.channels.SocketChannel[connected local=/172.31.38.151:8080 remote=/198.98.61.139:33842]], Read direct from socket: [175]
2020-07-31 01:56:21.487 INFO 28770 --- [nio-8080-exec-4] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header
Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in the HTTP protocol [HTTP/1.10x0aHost:]
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:560) ~[tomcat-embed-core-9.0.36.jar!/:9.0.36]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:260) ~[tomcat-embed-core-9.0.36.jar!/:9.0.36]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.36.jar!/:9.0.36]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) ~[tomcat-embed-core-9.0.36.jar!/:9.0.36]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590) ~[tomcat-embed-core-9.0.36.jar!/:9.0.36]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.36.jar!/:9.0.36]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.36.jar!/:9.0.36]
at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
它不会破坏项目,并且每个功能都运行良好。 但是不知道以后会不会出问题,所以想现在解决。
谁能给我一些关于导致此异常的原因的提示吗?
【问题讨论】:
-
0x0a是一个换行符,如果有帮助的话 -
您是否正在向 apache 发送 SSL 流量,并且 apache 没有配置私有 SSL 证书来解密它?
-
@ArunK 其实我不太明白你说的,因为我还很初级。这个项目是一个用于发送电子邮件的 api。 api 收到请求时不会发生异常。相反,它发生在没有“手动”发送请求时。我在代码中又添加了 2 行。希望这有助于解释这个问题。所以,回答你的问题,我不知道我发送的请求是否是 SSL 流量,但即使是,它们也不会导致异常。
-
这个项目现在在 EC2 上是否可以公开访问?您是否经常收到此错误日志条目,但一切仍然正常?如果两者都是真的,您是否可能只是从四处窥探的人那里得到查询?我有时会在我的网络服务器上得到这些。他们会发送错误请求以尝试查找系统中的漏洞,这会触发我的日志中的错误。您能否将这些错误追溯到触发错误请求的 IP?
-
@DavidTran 我刚刚检查了有问题请求的发件人的 IP 地址,但不是我。前 2 行代码显示 IP。我认为您是对的,此异常是由四处窥探的人的查询引起的。谢谢!
标签: java html spring-boot tomcat