Hi,
In our OMS deployment, we want to ensure that users even behind strict
firewall and proxy should be able to join. I am using a TURN server to
relay packets over TCP on port 443. I am planning to deploy TURN on a
separate machine. So in principle OMS will need minimum port 443 to run. I
deployed a squid proxy (Version 3.5.20) for testing. I am trying to
simulate a scenario where a user is connecting OMS through the proxy.
Connections are successful but with following issues-
1. It's not working with firefox due to the failure of WSS connection. Not
a problem, I can instruct users to use only the latest Chrome browser.
2. In chrome browser, things run fine for a while but if user does some
activities like screen sharing, writing something on white board, WSS
connection breaks with following error in Catalina.out. Once this happens,
it keeps on happening for some time and then it stabilizes again till the
user does something again.
a) WebSocketBehavior::closeHandler The client closed its connection
with code '1006' and message: 'error:140E0197:SSL
routines:SSL_shutdown:shutdown while in init'
* Error trace:*
*An error occurred in web socket connection with id :
43javax.net.ssl.SSLException: error:140E0197:SSL
routines:SSL_shutdown:shutdown while in init at
org.apache.tomcat.util.net.openssl.OpenSSLEngine.checkLastError(OpenSSLEngine.java:946)
at
org.apache.tomcat.util.net.openssl.OpenSSLEngine.pendingReadableBytesInSSL(OpenSSLEngine.java:631)
at
org.apache.tomcat.util.net.openssl.OpenSSLEngine.unwrap(OpenSSLEngine.java:558)
at java.base/javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:634) at
org.apache.tomcat.util.net.SecureNioChannel.read(SecureNioChannel.java:617)
at
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1228)
at
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.fillReadBuffer(NioEndpoint.java:1203)
at
org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.read(NioEndpoint.java:1147)
at
org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:72)
at
org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:171)
at
org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:151)
at
org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148)
at
org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54)
at
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:59)
at
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1589)
at
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:834)*
* b) WebSocketBehavior::closeHandler The client closed its
connection with code '1001' and message: 'null'*
In my opinion, these are some trivial issues which can be sorted out, If
anybody can suggest something to make it stable.
Thanks and Regards
Lalit Patel