Nick, I already tried as you said. It' working when I am proxying through Apache or nginx. I am getting the following error in the browser through FES :
WebSocket connection to 'wss://172.16.1.180/accops-rdp /websocket-tunnel?token=D796521006917D22C54DC3D94D4274510A0B 92BB2C82F2FB394E6667F31AE34E&GUAC_DATA_SOURCE=default&GUAC_ID= ACCOPS&GUAC_TYPE=c&GUAC_WIDTH=1920&GUAC_HEIGHT=410&GUAC_DP I=96&GUAC_AUDIO=audio%2FL8&GUAC_AUDIO=audio%2FL16&GUAC_IMAGE =image%2Fjpeg&GUAC_IMAGE=image%2Fpng&GUAC_IMAGE=image%2Fwebp' > failed: One or more reserved bits are on: reserved1 = 1, reserved2 = 0, > reserved3 = 0 Environment I have set up is as follows :- First, I check the user is valid user or not through FES before accessing application. WORKFLOW : when websocket request is send by browser, FES send the response as follows:- Request sent by Browser :- > > > *General : Request URL:wss://172.16.1.180/accops-rdp/websocket-tunnel?token=1692775E387ECB3F6D2BCA9127CB3E02D712147F40233C4273B98BB597341852&GUAC_DATA_SOURCE=default&GUAC_ID=ACCOPS&GUAC_TYPE=c&GUAC_WIDTH=1920&GUAC_HEIGHT=468&GUAC_DPI=96&GUAC_AUDIO=audio%2FL8&GUAC_AUDIO=audio%2FL16&GUAC_IMAGE=image%2Fjpeg&GUAC_IMAGE=image%2Fpng&GUAC_IMAGE=image%2Fwebp <http://172.16.1.180/accops-rdp/websocket-tunnel?token=1692775E387ECB3F6D2BCA9127CB3E02D712147F40233C4273B98BB597341852&GUAC_DATA_SOURCE=default&GUAC_ID=ACCOPS&GUAC_TYPE=c&GUAC_WIDTH=1920&GUAC_HEIGHT=468&GUAC_DPI=96&GUAC_AUDIO=audio%2FL8&GUAC_AUDIO=audio%2FL16&GUAC_IMAGE=image%2Fjpeg&GUAC_IMAGE=image%2Fpng&GUAC_IMAGE=image%2Fwebp>Request Method:GETStatus Code:101 Switching Protocols* Response sent by FES :- > Response Headers : > Connection:Upgrade > Cookie:JSESSIONID=4A40BA2EC18DB0201EE726C2AED9EE3B; > GUAC_AUTH=%7B%22authToken%22%3A%221692775E387ECB3F6D2BCA9127CB > 3E02D712147F40233C4273B98BB597341852%22%2C%22username%22%3A% > 22Amarjeet%20Singh%22%2C%22dataSource%22%3A%22default% > 22%2C%22availableDataSources%22%3A%Np4vXlCikOuA7+dV1+Csw41Cb2Q= > Sec-WebSocket-Accept:Np4vXlCikOuA7+dV1+Csw41Cb2Q= > Sec-WebSocket-Protocol:guacamole > Upgrade:WebSocket then, FES send the Request sent by browser to TOMCAT and receive the same response which FES already sent to browser. FES checks the authentication of the user then only send the request to the TOMCAT otherwise close the socket and doesn't send any request. My Queries :- * Why I am getting the above mentioned error? *failed: One or more reserved bits are on: reserved1 = 1, reserved2 = 0, reserved3 = 0 * What causes this issue if we are using proxy requests in general ?* * Why there is a below exception in GuacamoleWebSocketTunnelEndpoint?* > > Thread-65] DEBUG o.a.g.w.GuacamoleWebSocketTunnelEndpoint - Connection > to guacd closed. > org.apache.guacamole.GuacamoleConnectionClosedException: Connection to > guacd is closed. > at org.apache.guacamole.io.ReaderGuacamoleReader.read( > ReaderGuacamoleReader.java:185) ~[guacamole-common-0.9.10- > incubating.jar:na] > at org.apache.guacamole.io.ReaderGuacamoleReader.readInstruction( > ReaderGuacamoleReader.java:197) ~[guacamole-common-0.9.10- > incubating.jar:na] > at org.apache.guacamole.protocol.FilteredGuacamoleReader.readInstruction( > FilteredGuacamoleReader.java:83) ~[guacamole-common-0.9.10- > incubating.jar:na] > at org.apache.guacamole.protocol.FilteredGuacamoleReader.readInstruction( > FilteredGuacamoleReader.java:83) ~[guacamole-common-0.9.10- > incubating.jar:na] > at org.apache.guacamole.protocol.FilteredGuacamoleReader.read( > FilteredGuacamoleReader.java:66) ~[guacamole-common-0.9.10- > incubating.jar:na] > at org.apache.guacamole.websocket.GuacamoleWebSocketTunnelEndpoint$2.run( > GuacamoleWebSocketTunnelEndpoint.java:162) ~[guacamole-common-0.9.10- > incubating.jar:na] > Caused by: java.net.SocketException: Socket closed > at java.net.SocketInputStream.socketRead0(Native Method) ~[na:1.7.0_51] > at java.net.SocketInputStream.read(SocketInputStream.java:152) > ~[na:1.7.0_51] > at java.net.SocketInputStream.read(SocketInputStream.java:122) > ~[na:1.7.0_51] > at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283) > ~[na:1.7.0_51] > at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325) > ~[na:1.7.0_51] > at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177) ~[na:1.7.0_51] > at java.io.InputStreamReader.read(InputStreamReader.java:184) > ~[na:1.7.0_51] > at org.apache.guacamole.io.ReaderGuacamoleReader.read( > ReaderGuacamoleReader.java:171) ~[guacamole-common-0.9.10- > incubating.jar:na] > ... 5 common frames omitted > *4. What should I have to handle if I proxy requests in FES ?* Any help is appreciated. Thanks and Regards, Amarjeet Singh On Oct 27, 2017 18:04, "Nick Couchman" <[email protected]> wrote: > > On Fri, Oct 27, 2017 at 8:23 AM, Amarjeet Singh <[email protected]> > wrote: > >> Hi Team, >> >> Error is : >> >> WebSocket connection to 'wss://172.16.1.180/accops-rdp >> /websocket-tunnel?token=D796521006917D22C54DC3D94D4274510A0B >> 92BB2C82F2FB394E6667F31AE34E&GUAC_DATA_SOURCE=default&GUAC_I >> D=ACCOPS&GUAC_TYPE=c&GUAC_WIDTH=1920&GUAC_HEIGHT=410&GUAC_DP >> I=96&GUAC_AUDIO=audio%2FL8&GUAC_AUDIO=audio%2FL16&GUAC_IMAGE >> =image%2Fjpeg&GUAC_IMAGE=image%2Fpng&GUAC_IMAGE=image%2Fwebp' failed: >> One or more reserved bits are on: reserved1 = 1, reserved2 = 0, reserved3 = >> 0 >> >> On Fri, Oct 27, 2017 at 5:52 PM, Amarjeet Singh <[email protected]> >> wrote: >> >>> Hi Team, >>> >>> Getting this error as well on the Browser screen >>> >>> >>> >>> >>> On Thu, Oct 26, 2017 at 10:24 PM, Amarjeet Singh <[email protected]> >>> wrote: >>> >>>> Hi Nick, >>>> >>>> What options do I have to resolve this issue ? >>>> >>>> Even if the requests are proxying what causes this issue to throw an >>>> error... >>>> >>>> Please help me to resolve this... >>>> >>>> I am stuck and can't do much after two days of research. Tunnel are >>>> working through only issue is with websocket request. >>>> >>>> On Oct 26, 2017 22:11, "Amarjeet Singh" <[email protected]> wrote: >>>> >>>>> I am proxying through Apache httpd but wss requests or socket >>>>> connections goes directly to tomcat through fes( server written in c ) >>>>> which is at front end... >>>>> >>>>> FES --> HTTPD --> Tomcat >>>>> >>>>> all requests goes as above ..but >>>>> >>>>> wss requests goes from FES --> Tomcat >>>>> >>>> > Amarjeet, > > I'm not sure what's going on, but I did not receive any of your e-mail > replies after I asked about how it was set up. > > Based on the fact that you're both using "FES" (whatever that is) and > httpd, I'd say you need to try things out without both of those items in > the way and see what works. I would try taking one thing out at a time - > specifically, you should first remove FES from the configuration and just > use httpd -> Tomcat and see if that works. If you still have issues with > that, verify that going directly to Tomcat works. Once you determine if > the issue is with FES, httpd, or Tomcat, you'll be able to determine what > steps need to be taken to resolve the problem. > > -Nick >
