After the Pod is injected into the sidecar of istio, the websocket connection will be interrupted abnormally
The problem here was websocketUpgrade, one line but important one.
As I could find on github there
Support for websockets is enabled by default in Istio from version 1.0: https://godoc.org/istio.io/api/networking/v1alpha3#HTTPRoute
And OP provided another one there
websocketUpgrade was removed some time ago, and is no longer needed.
So it should work without adding it to virtual service.
HOWEVER
As showed on github issue and confirmed by OP You still have to add it.
I found that only need to add conf of "websocketUpgrade: true".
So if you have same issue, you should try add weboscketUpgrade to your virtual service yaml.
If that doesn't work, there is another idea on github how to fix this.