Ho un'applicazione Spring MVC in esecuzione su Tomcat8. Una volta in un giorno o due ottengo un'eccezione nel mio file di registrojava.lang.IllegalArgumentException: Carattere non valido (CR o LF) trovato nel nome del metodo
15-Jun-2016 10:43:39.832 INFO [http-nio-8080-exec-50] 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 (CR or LF) found in method name
at org.apache.coyote.http11.AbstractNioInputBuffer.parseRequestLine(AbstractNioInputBuffer.java:228)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458)
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)
qualcuno ha idea di cosa potrebbe essere?
Sembra che l'intestazione della richiesta HTTP in ingresso non sia corretta. Come ti dice il messaggio di errore, l'intestazione della richiesta contiene caratteri vietati nel nome del metodo HTTP (fine riga), quindi il parser della richiesta non riesce con eccezione. Quindi non è un problema nel tuo codice. Puoi ignorarlo o chiedere al mittente di verificare la validità della richiesta. –
@Vladimir Vagaytsev - la richiesta è da Web e abbiamo l'installazione LB con nginx. Sul server genera l'errore sopra riportato e genera Bad Gateway. scalescale.com/tips/nginx/502-bad-gateway-error-using-nginx non ha aiutato :( –
Credo che questa eccezione debba fare di più con il Setup SSL, come la stessa (beh, quasi simile) guerra lavora su macchine per palcoscenici - a cui accediamo con http - Considerando che il setup di test di produzione (usando https) è il punto in cui ci troviamo di fronte a questo problema, dobbiamo controllare la nostra configurazione di nginx.Nel caso in cui tu abbia trovato la correzione - fai, fammi sapere :) –