Vaadin 8.11.0 - web proxy may block websockets, falls back to long-polling,

Is there any guidance on using websockets for clients using a web proxy server?

We note that requests from a given client of ours work fine with websockets, but that all of the requests behind an IP address that we believe is their web proxy server, they seem to all shift to long-polling. Our ‘pushmode’ is set to ‘automatic’.

Periodically, the users complain that they get an HTTP Status 400 error in their browsers (they use the current Chrome browser on Windows 10). We noted the errors are the browser built-in message for status 400. Any status 400 returned by our web app are formatted JSP error pages. We see lots (perhaps 10+ per minute) of these requests in our Tomcat access log: - - [10/Aug/2020:13:03:00 -0700] "-" 400 - 0 '-' "-"

First, are such invalid 400 requests related to websockets dropping down to long-polling? It’s not clear what these requests are since they are not even GET/POST requests, nor are they directed to their webapp context “/CUST” where Vaadin is deployed.

But the successful requests from that IP look like this: - - [10/Aug/2020:13:03:00 -0700]
 "GET /CUST/ui/PUSH?v-uiId=0&v-pushId=66bf5af9-1cda-4300-a492-e86123c31db7&X-Atmosphere-tracking-id=bc63f2fa-839e-449e-8165-3a96d0e9fb82&X-Atmosphere-Framework=2.3.2.vaadin1-javascript&X-Atmosphere-Transport=long-polling
&X-Atmosphere-TrackMessageSize=true&Content-Type=application%2Fjson%3B%20charset%3DUTF-8&X-atmo-protocol=true&_=1597089722704 HTTP/1.1" 200 205 1 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36' "h

Second, when pushmode drops from automatic to long-polling, does long-polling happen each minute? We’d like them to use websockets when possible, but wonder if we can tune the frequency of long-polling should it fall back.

Thanks for any help and insights you can provide.