У нас есть веб-приложение, работающее в Tomcat 9.0.16, после изменения AdoptJDK с 10 на 11 мы время от времени замечали статус HTTP 400 в журнале доступа.Это происходит только при настройке HTTPS, мы используем реализацию Java SSL (JSSE).Ниже приведен дамп из javax.net.debug неудавшегося запроса.
Отличие от другого запроса состоит в том, что после application_data в том же потоке есть change_cipher_spec.Я не заметил эту последовательность в пропущенных запросах.
javax.net.ssl|DEBUG|38|https-jsse-nio-8444-exec-5|2019-03-01 14:01:46.924 CET|SSLEngineInputRecord.java:177|Raw read (
0000: 17 03 03 02 CE 00 00 00 00 00 00 00 01 06 11 6D ...............m
0010: 72 C0 DE E5 55 76 24 8D 18 F3 13 69 43 2A AA 84 r...Uv$....iC*..
0020: 37 01 CE 8F 16 C9 72 E9 52 5D 43 BA 96 C7 47 8B 7.....r.R]C...G.
0030: 86 7A 6C C8 A0 72 E0 38 3A FF 54 83 C3 60 8D 6F .zl..r.8:.T..`.o
0040: 2A 56 E6 E0 A2 B8 1E 6C 1E 5E 8A 9B 3C 7F A3 34 *V.....l.^..<..4
0050: 56 86 09 69 4B E8 E1 22 45 88 B4 E7 DC C0 0A B7 V..iK.."E.......
0060: 91 2A 6E 1C A9 28 4B 37 96 72 4E 94 01 E9 A1 64 .*n..(K7.rN....d
0070: 67 F1 6E BC 9C 34 69 E3 92 35 DC F2 45 5F B6 EB g.n..4i..5..E_..
0080: 58 82 C0 9B 86 A1 15 2F 0B FC E8 6E 97 18 30 34 X....../...n..04
0090: B2 DA FA 55 0E 4F 92 AD 5A B9 6C 46 C8 22 FD 33 ...U.O..Z.lF.".3
00A0: 12 8F 71 8F D8 08 EB E8 BC 55 67 1D 23 8E A7 89 ..q......Ug.#...
00B0: BF 22 63 89 FE B5 B5 DA DF 26 54 B8 5C 53 99 79 ."c......&T.\S.y
00C0: 84 B8 04 70 A9 DB FF 54 91 59 B7 8F 06 39 6E 17 ...p...T.Y...9n.
00D0: 2A C6 A1 20 30 AF 67 F1 1C 1E B0 E8 A4 29 66 CA *.. 0.g......)f.
00E0: 95 B1 94 AE 6F EC 53 98 60 EF E9 06 CD 05 F6 04 ....o.S.`.......
00F0: 06 27 30 96 3F 8B F0 76 6B 92 1C B7 89 5C 47 9A .'0.?..vk....\G.
0100: C6 A5 44 2D 2A DB B6 EC E2 BC 56 57 0C 9B 6A FB ..D-*.....VW..j.
0110: 5B 64 F4 56 27 41 B8 74 69 4B 46 47 B0 8A 25 EE [d.V'A.tiKFG..%.
0120: 57 81 A0 D5 C2 F5 2D E9 3B C1 C8 A1 05 5B 25 DF W.....-.;....[%.
0130: BA 96 B1 5A 59 E6 A9 A4 94 2D 86 CF BF 4C 4E 70 ...ZY....-...LNp
0140: 68 EB 78 4E 3A 39 AC 56 3E 24 C2 1A 21 DC C1 BD h.xN:9.V>$..!...
0150: D7 0C 51 2B 99 C6 49 40 25 30 16 B5 2E AB 8F CC ..Q+..I@%0......
0160: D4 DA 9F 7A 50 F5 B7 28 55 32 B1 44 CE 89 8A 5F ...zP..(U2.D..._
0170: 79 89 34 E2 F0 A1 A3 56 15 7A 15 B7 EA 4C 74 8D y.4....V.z...Lt.
0180: 87 F2 2B 81 DB 4B 86 99 01 4C AC 5C 05 42 20 C8 ..+..K...L.\.B .
0190: 50 DA AA D6 BF 36 BC 78 67 DA CB 57 CD 7E 3B A8 P....6.xg..W..;.
01A0: 53 66 06 72 43 EA C2 F6 DA 2B 99 50 83 A6 C3 72 Sf.rC....+.P...r
01B0: BB 6F 05 7F 60 B1 25 07 93 61 71 2C 25 12 B9 90 .o..`.%..aq,%...
01C0: DC 42 F2 72 9E 38 85 60 61 58 44 3A 03 C4 0E 9E .B.r.8.`aXD:....
01D0: 1A 60 9B F3 D4 8C 66 9C 5D 01 86 E5 21 D2 F3 40 .`....f.]...!..@
01E0: D8 52 DF 76 D4 C6 67 B0 29 C5 56 9B A2 05 8C 8D .R.v..g.).V.....
01F0: BE 58 59 06 2B 1C F4 A7 6B 6B 40 67 04 E1 ED B2 .XY.+...kk@g....
0200: 18 C0 F4 43 00 1F EC 68 7C F2 C1 10 01 62 74 C2 ...C...h.....bt.
0210: 62 5F 4B 19 48 27 A8 57 99 8A 74 81 D2 33 F3 FC b_K.H'.W..t..3..
0220: 5C 29 05 5A 44 BA 9E 4C DD 4C EA 50 D2 6E 95 E9 \).ZD..L.L.P.n..
0230: 7C AF A0 FE 6F EB 31 4C 8D 44 97 61 16 46 B2 B4 ....o.1L.D.a.F..
0240: D4 F4 84 8C 9E 20 D3 67 97 BE 8A 31 7E 67 A1 BC ..... .g...1.g..
0250: B5 C8 0A 83 B3 47 C0 2A A2 51 73 C8 D2 F3 6B FF .....G.*.Qs...k.
0260: D8 95 BC 5E BA AE EA 3A 2A 9E F7 AD DA AC 90 B9 ...^...:*.......
0270: C1 34 4E F2 4D 61 95 C2 D6 BF 3D A1 81 13 83 8F .4N.Ma....=.....
0280: D9 FB CC 7B 83 DA 4D 53 AE B2 C5 86 1A 3F 25 4B ......MS.....?%K
0290: 0D BA EA 32 1D 08 B3 8B 8B AD 8B EF EA 47 2F A6 ...2.........G/.
02A0: 41 AF 38 F5 15 52 84 2C 41 9E 77 DE ED 8D A5 9A A.8..R.,A.w.....
02B0: A6 5A 1A C9 0B 87 C4 6E 2A 34 CC 7A 91 5A 1E DF .Z.....n*4.z.Z..
02C0: E9 58 BB 3A B8 8A E2 0F 9F 0F DE 5C F6 55 B3 1B .X.:.......\.U..
02D0: 4A 73 02 14 03 03 00 01 01 16 03 03 00 28 00 00 Js...........(..
02E0: 00 00 00 00 00 00 94 1E F8 9A 66 3B A1 67 AB 89 ..........f;.g..
02F0: 39 DB 30 3E 90 11 45 92 1C EA 7F F7 91 D8 8B 9E 9.0>..E.........
0300: B6 58 CC 9F 19 AD .X....
)
javax.net.ssl|DEBUG|38|https-jsse-nio-8444-exec-5|2019-03-01 14:01:46.924 CET|SSLEngineInputRecord.java:214|READ: TLSv1.2 application_data, length = 718
javax.net.ssl|DEBUG|38|https-jsse-nio-8444-exec-5|2019-03-01 14:01:46.924 CET|SSLEngineInputRecord.java:177|Raw read (
0000: 14 03 03 00 01 01 16 03 03 00 28 00 00 00 00 00 ..........(.....
0010: 00 00 00 94 1E F8 9A 66 3B A1 67 AB 89 39 DB 30 .......f;.g..9.0
0020: 3E 90 11 45 92 1C EA 7F F7 91 D8 8B 9E B6 58 CC >..E..........X.
0030: 9F 19 AD ...
)
javax.net.ssl|DEBUG|38|https-jsse-nio-8444-exec-5|2019-03-01 14:01:46.925 CET|SSLEngineInputRecord.java:214|READ: TLSv1.2 change_cipher_spec, length = 1
javax.net.ssl|DEBUG|38|https-jsse-nio-8444-exec-5|2019-03-01 14:01:46.925 CET|ChangeCipherSpec.java:143|Consuming ChangeCipherSpec message
javax.net.ssl|DEBUG|38|https-jsse-nio-8444-exec-5|2019-03-01 14:01:46.925 CET|SSLEngineInputRecord.java:177|Raw read (
0000: 16 03 03 00 28 00 00 00 00 00 00 00 00 94 1E F8 ....(...........
0010: 9A 66 3B A1 67 AB 89 39 DB 30 3E 90 11 45 92 1C .f;.g..9.0>..E..
0020: EA 7F F7 91 D8 8B 9E B6 58 CC 9F 19 AD ........X....
)
javax.net.ssl|DEBUG|38|https-jsse-nio-8444-exec-5|2019-03-01 14:01:46.925 CET|SSLEngineInputRecord.java:214|READ: TLSv1.2 handshake, length = 40
javax.net.ssl|DEBUG|38|https-jsse-nio-8444-exec-5|2019-03-01 14:01:46.925 CET|SSLCipher.java:1629|Plaintext after DECRYPTION (
0000: 14 00 00 0C D4 93 7A FD 9E 7D 6A F2 04 97 1A 93 ......z...j.....
)
javax.net.ssl|DEBUG|38|https-jsse-nio-8444-exec-5|2019-03-01 14:01:46.925 CET|Finished.java:581|Consuming client Finished handshake message (
"Finished": {
"verify data": {
0000: D4 93 7A FD 9E 7D 6A F2 04 97 1A 93
}'}
)
01-Mar-2019 14:01:46.927 INFO [https-jsse-nio-8444-exec-5] org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request header
Note: further occurrences of HTTP request 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:414)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:294)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:834)