Используя Tomcat server 8.5.4 в качестве автономной службы (tomcat8w.exe), я получаю следующую ошибку в 'logs/tomcat8-stderr.YYYY- ММ-DD.txt», когда я остановить сервер:
org.apache.coyote.AbstractProtocol$ConnectionHandler.process Error reading request, ignored
java.lang.NullPointerException
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.getSslSupport(NioEndpoint.java:1349)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:775)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1425)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:830)
at org.apache.tomcat.util.net.NioEndpoint$Poller.add(NioEndpoint.java:669)
at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.registerReadInterest(NioEndpoint.java:1264)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1433)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
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)
Мой разъем следующее:
<Connector SSLEnabled="true" clientAuth="false" keyAlias="xxx" keystoreFile="F:\Programs\apache-tomcat-8.5.4\certificate\xxx.keystore" keystorePass="xxx" maxThreads="150" port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" sslImplementationName="org.apache.tomcat.util.net.jsse.JSSEImplementation" scheme="https" secure="true" sslEnabledProtocols="all" sslProtocol="SSL"/>
есть ли у вас какие-либо объяснения о том, что может быть не так?
Команда Apache ответила на мой отчет bugzilla и пометила его как дубликат ошибки [60030] (https://bz.apache.org/bugzilla/show_bug.cgi?id=60030), объяснение - ошибка для Apache Tomcat версии 8.0.x, и он был решен в версии 8.5.5 и выше. Проблема связана с поддержкой указателя имени сервера (SNI). Вот цитата из резолюции Марка Томаса с командой Apache: «Это было исправлено в следующих ветвях: - 9.0.x для 9.0.0.M10 и далее - 8.5.x для 8.5.5 и выше 8.0.x и ранее не затрагиваются, поскольку они не поддерживают SNI. ". – hesparza