Недавно мы начали поддерживать HTTP2 для наших серверов. Мы использовали приведенную ниже конфигурацию для обновления протокола HTTP2. Сборка началась без ошибок. Но после запуска сервера мы сталкиваемся с критической проблемой, то есть некоторые запросы переносятся с сервера в код состояния 302. И я не нашел никаких исключений в файле catalina.out.
Конфигурация :
<Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
SSLEnabled="true" acceptCount="1000" maxSpareThreads="75" maxThreads="500"
minSpareThreads="25" compression="on" >
<UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol"
compression="on" />
<SSLHostConfig honorCipherOrder="false">
<Certificate certificateKeyFile="conf/server.key" certificateFile="conf/server.crt"/>
</SSLHostConfig>
</Connector>
В файле журнала localhost_ есть некоторые подсказки. Обнаружено исключение NullPointerException в методе .invoke. Только эти запросы перемещаются в код состояния 302.
==> localhost.2019-10-24.log <==
24-Oct-2019 03:32:16.106 SEVERE [https-openssl-apr-8443-exec-16] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [default] in context with path [] threw exception
java.lang.NullPointerException
24-Oct-2019 03:32:16.843 SEVERE [https-openssl-apr-8443-exec-14] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [default] in context with path [] threw exception
java.lang.NullPointerException
==> localhost_access_log.2019-10-24.txt <==
121.244.91.22 - - [24/Oct/2019:03:32:12 -0700] POST /app/get_notification_count HTTP/2.0 200 73
121.244.91.21 - - [24/Oct/2019:03:32:14 -0700] POST /app/get_all_tag_details HTTP/2.0 200 4401
121.244.91.20 - - [24/Oct/2019:03:32:15 -0700] POST /app/get_notification_count HTTP/2.0 200 72
121.244.91.21 - - [24/Oct/2019:03:32:16 -0700] POST /app/get_notification_count HTTP/2.0 302 -
117.239.106.136 - - [24/Oct/2019:03:32:16 -0700] POST /app/get_notification_count HTTP/2.0 200 73
121.244.91.21 - - [24/Oct/2019:03:32:16 -0700] POST /app/get_notification_count HTTP/2.0 302 -
121.244.91.21 - - [24/Oct/2019:03:32:17 -0700] POST /app/get_all_user_details HTTP/2.0 200 1149
121.244.91.21 - - [24/Oct/2019:03:32:17 -0700] GET /app HTTP/2.0 200 2512
Когда я переключаюсь на другие сети, он работает (код состояния 200) без ошибок. Я полностью запутался в этом сценарии. Проблема не может быть воспроизведена после перезапуска сервера Tomcat.
Версия Tomcat: > 9
Буду очень признателен, если вы поможете мне с этим.