It's likely multiple connections from the same user / remote address. Include the mSession.getRemoteAddress().getPort() in your output to confirm. If it reports different ports, then that's definitely multiple connections being closed.
You can also create a unique "id" for every connection/session in your onWebSocketConnect() and report that in your LOG info line. Joakim Erdfelt / [email protected] On Fri, Feb 26, 2021 at 7:45 AM Alexander Farber <[email protected]> wrote: > Hello, > > I am using Jetty 9.4.35.v20201120 for a Websockets word game with 2000 > users and while it works pretty stable, every minute or so I observe the > following bursts in the log: > > INFO:words:qtp100555887-757: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-756: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-757: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-929: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-757: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-938: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-937: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-938: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-929: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-953: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-756: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-929: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-756: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-757: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-938: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-953: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-938: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-937: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-757: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-953: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-929: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-938: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-756: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-937: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-938: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-756: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-757: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-938: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-937: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-929: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-951: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1001 reason= > INFO:words:qtp100555887-757: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1006 reason=Disconnected > INFO:words:qtp100555887-951: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1006 reason=Disconnected > INFO:words:qtp100555887-938: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1006 reason=Disconnected > INFO:words:qtp100555887-951: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1006 reason=Disconnected > INFO:words:qtp100555887-937: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1006 reason=Disconnected > INFO:words:qtp100555887-938: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1006 reason=Disconnected > INFO:words:qtp100555887-951: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1006 reason=Disconnected > INFO:words:qtp100555887-953: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1006 reason=Disconnected > INFO:words:qtp100555887-756: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1006 reason=Disconnected > INFO:words:qtp100555887-757: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1006 reason=Disconnected > INFO:words:qtp100555887-929: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1006 reason=Disconnected > INFO:words:qtp100555887-756: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1006 reason=Disconnected > INFO:words:qtp100555887-951: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1006 reason=Disconnected > INFO:words:qtp100555887-938: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1006 reason=Disconnected > INFO:words:qtp100555887-951: onWebSocketClose: hostname=77.111.244.123 > mUid=0 statusCode=1006 reason=Disconnected > > I check the IP address (BTW I have changed it in the above log excerpt) - > and it is a legit player, that is not some script kiddie. > > Those bursts do not come for every user, but only for few of them. > > Does anybody have an idea, what is happening? > > Is it some nature of the Websockets protocol or some older browser/several > browser tabs being opened? Or maybe the fact that I have haproxy 1.8.23 in > front of the Jetty? > > Below is my simple Java code and the excerpt from haproxy.cfg > > defaults > mode http > log global > option httplog > option dontlognull > option http-server-close > option forwardfor except 127.0.0.0/8 > option redispatch > retries 3 > timeout http-request 10s > timeout queue 1m > timeout connect 10s > timeout client 1m > timeout server 1m > timeout http-keep-alive 10s > timeout check 10s > maxconn 3000 > > # for WebSocket connections > timeout tunnel 1h > timeout client-fin 1m > > frontend slova_de > bind 95.216.113.92:80 > bind 95.216.113.92:443 ssl crt /etc/pki/tls/certs/slova.de.pem > no-sslv3 > http-request deny if { path_beg /xmlrpc.php } > redirect scheme https if { hdr_end(host) -i slova.de } !{ ssl_fc } > default_backend jetty_ru > > backend jetty_ru > server domain 127.0.0.1:8080 send-proxy > > @Override > public void onWebSocketClose(int statusCode, String reason) { > // getHostString does not use DNS resolving > String hostname = (mSession == null ? "unknown" : > mSession.getRemoteAddress().getHostString()); > LOG.info("onWebSocketClose: hostname={} mUid={} statusCode={} > reason={}", hostname, mUid, statusCode, reason); > disconnect(); > } > > @Override > public void onWebSocketError(Throwable ex) { > // getHostString does not use DNS resolving > String hostname = (mSession == null ? "unknown" : > mSession.getRemoteAddress().getHostString()); > LOG.warn("onWebSocketError: hostname={} mUid={} ex={}", hostname, > mUid, ex); > disconnect(); > } > > Thank you for any input > Alex > > _______________________________________________ > jetty-users mailing list > [email protected] > To unsubscribe from this list, visit > https://www.eclipse.org/mailman/listinfo/jetty-users >
_______________________________________________ jetty-users mailing list [email protected] To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jetty-users
