use*_*012 119 illegalargumentexception tomcat8
当我在多服务器Apache Tomcat 8环境中部署我的应用程序时,我正在低于堆栈跟踪.我经常收到此错误,似乎它阻止了tomcat线程:
INFO [http-nio-80-exec-4461] org.apache.coyote.http11.AbstractHttp11Processor.process Error parsing HTTP request header
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens
at org.apache.coyote.http11.AbstractNioInputBuffer.parseRequestLine(AbstractNioInputBuffer.java:233)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1017)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1524)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1480)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)
任何人都可以指导我如何解决或缩小这种做法吗?我没有得到任何我的应用程序源文件的任何引用.我试图谷歌周围,并在其说的链接,你试图通过https访问http网址,这似乎不太可能.当应用程序在单个Tomcat 8实例上运行时,我没有收到此错误.我只在多服务器环境中得到它.
我也在分享我在每个页面上嵌入的元标记,如果这有助于确定原因.
<%
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Cache-Control", "no-store");
response.setDateHeader("Expires", 0);
response.setHeader("Pragma", "no-cache");
%>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0">
<meta name="viewport" content="width=device-width, initial-scale=1">
Run Code Online (Sandbox Code Playgroud)
我也在几页中使用以下内容,基本上与上面相同:
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Cache-Control" content="private" />
<meta http-equiv="Cache-Control" content="no-store" />
<meta http-equiv="Pragma" content="no-cache" />
Run Code Online (Sandbox Code Playgroud)
即使有人帮助指导我的故障排除尝试,这将是有用的,因为目前我不知道,在哪里查看.
提前致谢.
Pet*_*nev 204
当您尝试从未启用https的端点上的客户端执行https请求时,可能会发生此异常.当服务器期望原始数据时,客户端将加密请求数据.
Jus*_*ode 40
我在本地测试时遇到了同样的异常.问题是我的请求中的URL架构.
更改 https:// to http:// in your client url.
可能有帮助.
Cyb*_*ber 23
如果有人使用招摇:
在执行之前,根据需要将 Scheme 更改为HTTP或HTTPS。
邮差:
将 URL Path 更改为http://或https://在 url 地址中
Shi*_*ant 20
您使用http:// localhost:8080/foo/bar 调用本地服务器.使用https:// localhost:8080/foo/bar 调用它.这解决了这个问题
mib*_*lma 10
我收到了与任何 TLS 问题无关的异常。在我的情况下, Content-Length 标头值与正文长度不匹配。
我知道这是一个旧线程,但在特殊情况下可能会发生这种情况:
如果您使用结合 VPC 链接的 AWS api 网关,并且网络负载均衡器启用了代理协议 v2,则也会发生 400 错误请求。
我花了整个下午才弄清楚,所以如果它可以帮助别人,我会很高兴:)
| 归档时间: |
|
| 查看次数: |
161178 次 |
| 最近记录: |