zl程序教程

您现在的位置是:首页 >  工具

当前栏目

阿里云端口失效导致tomcat无法对外提供服务

Tomcat阿里服务 无法 提供 导致 失效 云端
2023-09-27 14:28:34 时间

下午,我们一个环境启动成功,但是却无法访问,经查看启动日志,如下:


Mar 23, 2017 2:15:09 PM org.apache.coyote.http11.AbstractHttp11Processor process
INFO: Error parsing HTTP request header
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.ArrayIndexOutOfBoundsException: -64
at org.apache.coyote.http11.InternalInputBuffer.parseHeader(InternalInputBuffer.java:341)
at org.apache.coyote.http11.InternalInputBuffer.parseHeaders(InternalInputBuffer.java:271)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1008)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

Mar 23, 2017 2:15:09 PM org.apache.coyote.http11.AbstractHttp11Processor process
INFO: Error parsing HTTP request header
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Invalid character (CR or LF) found in method name
at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:131)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:993)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

但是tomcat已经正常启动了,f12中显示conneciton reset,一度怀疑是上面的问题导致,但是tail 日志,发现请求并没有到达服务器。

经telnet host 8080, 发现是通的,但是telnet ip 8080,则不通。

结论:阿里云外网端口映射失效。跟HTTP header异常没有关系(maxHttpHeaderSize设置无关),也跟HTTPS没有关系(https://m.oschina.net/question/2664787_2157255)。

SO:对于通过端口映射对外提供的服务,如果确定后台已经启动的,则使用localhost访问看下是否可用,如果可用,很可能端口失效了。