Hello all,
I finally tested this with a server (Jetty 9.4.14) running on JDK8 and
running on JDK11 with -Djdk.tls.server.protocols=TLSv1.2. With both
configurations I was unable to trigger this issue. For sake of
completeness I also tried JDK11 with default TLS settings and a
non-wildcard certificate. Same result there.
From all this I conclude that a JDK11 client with TLSv1.3 enabled
(which is the default) intermittently fails to complete a HTTPS request
to a Jetty server running on JD11 also with TLSv1.3 enabled if the used
domain name is covered by a wildcard certificate. Forcing a
SslContext#reload on the server immediately triggers the issue after
which it sometimes disappears within a couple of minutes but I have also
observed the issue to persist for multiple hours. The issue may also
occur spontaneously and in that case it also takes up to several hours
to go away. The issue has been reproduced with Jetty versions 9.4.11,
9.4.13 and 9.4.14.
Running the server with TLSv1.3 disabled seems to be the best way to
suppress the issue for now.
Kind regards,
Silvio
On 01-02-19 16:32, Silvio Bierman wrote:
Hello all,
Another follow up on the same issue:
I have not yet set up a server on JDK8 but I have tried some other
variation to further narrow things down. Using
-Djdk.tls.client.protocols=TLSv1.2 on the client side of the
connection forces the use of TLSv1.2 (as opposed to 1.3 which is the
JDK11 default) and in that case everything works fine. The server
still uses 1.3 if available and therefore still fails for 1.3 clients
at the same time. But the 1.2 clients work without issues.
My next try will be running the server with TLSv1.2 but I expect that
will simply suppress the issue for all clients.
I do not know if this is useful information at all. I have read
somewhere that the 1.3 code in JDK11 results in a different ordering
of some callbacks to the code managing server sockets but I have too
little experience there to make any educated guesses.
I will return soon with more information.
Kind regards,
Silvio
On 30-01-19 00:48, Silvio Bierman wrote:
Hi Greg,
I just want to let you all know that I have reproduced the same issue
with a server running on Jetty 9.4.11.v20180605. I triggered an
SslContextFactory.reload on the server and immediately got the same
error on the client.
Since this version by far predates the first occurrence of the issue
on our servers I am now convinced this is something that was
introduced with our move from JDK10 (actually JDK11 early builds on
Ubuntu 18.04) to JDK11 (and Ubuntu 18.10) which coincided with our
move from Jetty 9.4.13 to 9.4.14. Now we know the Jetty version is
clearly not causing this it must be something related to JDK11.
Since it is triggered by manipulating the server I am still looking
in that direction. My next step will be testing against a server
(with Jetty 9.4.14) running on JDK8. I will keep you posted.
Kind regards,
Silvio
On 29-01-19 08:30, Greg Wilkins wrote:
Silvio,
I am reading your emails... but so far I've had no idea pop into my
head.
The only thing I can think of is perhaps replacing
the SslContextFactory with exactly the code from 9.4.12 (I think 13
was a bad release for other reasons) and see if that makes any
difference. If it works, then you could probably bisect the commits
(only about 8 done last year).
cheers
On Tue, 29 Jan 2019 at 11:51, Silvio Bierman
<[email protected] <mailto:[email protected]>>
wrote:
Hello all,
Another followup on the same topic: triggering a
SslContextFactory.reload on the server consistently and immediately
triggers the problem on the client side, restarting the server
is close
to 100% (seems timing related). I was still leaning toward
something
fishy in the client code or even the JDK11 SSL client socket
code but
now I am almost certain this is going awry on the server side.
Still JDK11 on both client and server side and Jetty
9.4.14.v20181114
server, using domain names that are covered by wildcard
certificates.
I am busy setting up a server with 9.4.11 and JDK8 to see what
happens
there but since I am packed it may take another week or so to
get results.
I will keep you posted.
>> One addition: this morning I replaced the keystore file on
one of the
>> servers because some almost-expired certificates had been
updated and
>> subsequently triggered a SslContextFactory.reload through the
>> application. Within 15 minutes the logging showed about two
dozen
>> failed requests. Then it silently went away. May be a
coincidence of
>> course.
>>
>> Silvio
>>
_______________________________________________
jetty-users mailing list
[email protected] <mailto:[email protected]>
To change your delivery options, retrieve your password, or
unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jetty-users
--
Greg Wilkins <[email protected] <mailto:[email protected]>> CTO
http://webtide.com
_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://www.eclipse.org/mailman/listinfo/jetty-users
_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://www.eclipse.org/mailman/listinfo/jetty-users
_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://www.eclipse.org/mailman/listinfo/jetty-users
_______________________________________________
jetty-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://www.eclipse.org/mailman/listinfo/jetty-users