Я запускаю SpringBoot Application, только что проверил журналы сервера и получил несколько подобных ошибок. Я не могу понять, что может вызвать это, поскольку ошибка появляется каждый день через 12/24 часов.
Версия Tomcat, работающая на 8.5.11
2018-03-04 17:03:26 [http-nio-8080-exec-85] INFO o.a.coyote.http11.Http11Processor - 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.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:421)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:667)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434)
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:748)
Эта ошибка может возникнуть, если вы пытаетесь получить доступ к незащищенной странице через https.
@hovanessyan да, это причина публикации его здесь, он появляется только в продакшене, и я не думаю, что это вызвано чьим-то звонком, поскольку это происходит с тем же интервалом.
@MishoJaniashvili - публикация журналов из производственной среды без контекста не приведет ни к чему, кроме предположения, что может вызвать ошибку - «ошибки синтаксического анализа будут регистрироваться на уровне DEBUG» - я предлагаю включить DEBUG в производственной среде на следующие 24 часа




Это может произойти из-за анализа заголовков HTTPS вместо HTTP. Пытаться:
logging.level.org.springframework.web: tracelogging.level.org.apache: traceУ меня была эта ошибка в приложении Spring Boot 2 (2.0.1.RELEASE), которое было настроено для обслуживания HTTPS на порту 8443 и перенаправления HTTP-трафика порта 8080 на порт 8443.
В Microsoft Edge приложение работало, как и ожидалось, с перенаправлением http://localhost:8080 на https://localhost:8443. Однако в Chrome 66 это сработает только один раз, а затем Chrome будет жаловаться, что «localhost отправил неверный ответ» (ERR_SSL_PROTOCOL_ERROR).
Журнал сервера сказал:
DEBUG 11440 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer: Received [ <<unprintable characters>> ]
INFO 11440 --- [nio-8080-exec-1] o.apache.coyote.http11.Http11Processor: Error parsing HTTP request header
Оказывается, Chrome добавлял localhost в свой Список HSTS
потому что Spring Boot отправил обратно заголовок Strict-Transport-Security: max-age=31536000 ; includeSubDomains для
https: // localhost: 8443. По сути, эта проблема возникла из-за того, что клиент (то есть браузер) пытался передать HTTPS конечной точке HTTP.
Добавление .headers().httpStrictTransportSecurity().disable(); в
<? extends WebSecurityConfigurerAdapter>.configure исправил проблему, как указано в этот вопрос StackOverflow.
Это не решение ошибки, которую я пытался решить, но это решение другой ошибки, которая у меня была. Мы запускаем все наши приложения на 8080 и 8443 в целях безопасности. В последнее время пользователи жаловались, что не могут подключиться. Их браузеры автоматически перенаправляют на https на: 8080, незащищенный порт соединителя. Думаю, это потому, что мы перешли на весеннюю загрузку.
Как я ответил в этот похожий вопрос, проверьте, не запрашиваете ли вы случайно протокол HTTPS вместо протокола HTTP. Если вы не настроите SSL на Tomcat и отправите запрос HTTPS, это приведет к этому странному сообщению.
Расскажу, что он решает, когда я использовал Firefox вместо Chrome.
На основе предоставленной информации невозможно определить - вам нужно зафиксировать запрос, который его вызывает, и фактическое значение заголовка во время ошибки.