The service is written in Go and is using the default cipher suite and advertises HTTP/2. The service sits behind a Google LB in multiple GCE zones around the world. We've randomly sampled the UAs and majority are coming from Chrome+mobile (though this might just be relative to our traffic and Chrome's popularity). Chrome versions are all over the map and doesn't pinpoint to a particular version. There's been plenty of version 58 so seems like it might still be an issue. It could also be an Android issue, but we've seen iOS devices as well. The IPs are spread across multiple ISPs.
Here's what we're seeing (from Wireshark):
Connection 1: client port: 47108, server port: 443
17:28:03.835012 TCP 47108 → 443 [SYN] Seq=0 Win=65535 Len=0 MSS=1360 SACK_PERM=1 WS=256
17:28:03.835038 TCP 443 → 47108 [SYN, ACK] Seq=0 Ack=1 Win=28160 Len=0 MSS=1420 SACK_PERM=1 WS=128
17:28:04.004216 TCP 47108 → 443 [ACK] Seq=1 Ack=1 Win=82944 Len=0
17:28:04.017079 TLSv1.2 Client Hello
... this continues normally ...
Connection 2:
17:28:04.002616 TCP 49694 → 443 [SYN] Seq=0 Win=65535 Len=0 MSS=1360 SACK_PERM=1 WS=256
17:28:04.002636 TCP 443 → 49694 [SYN, ACK] Seq=0 Ack=1 Win=28160 Len=0 MSS=1420 SACK_PERM=1 WS=128
17:28:04.017127 TCP 443 → 47108 [ACK] Seq=1 Ack=204 Win=29312 Len=0
17:28:15.124506 TCP 49694 → 443 [FIN, ACK] Seq=1 Ack=1 Win=82944 Len=0
17:28:15.124639 TCP 443 → 49694 [FIN, ACK] Seq=1 Ack=2 Win=28160 Len=0
17:28:15.564961 TCP 49694 → 443 [ACK] Seq=2 Ack=2 Win=82944 Len=0
This is the case with all connections we've seen. Let me know if there's more information I can provide. We've been unable to replicate this using our own Android devices and Chrome, but we'll update the thread if we can. I'm not sure if this is particularly a Chrome issue, but I thought I'd share in case others have experienced this and since it is definitely happening from Chrome UAs more often than not.