Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1361306 - Unable to obtain user-agent or client IP in websocket handshake on OpenShift hosted WildFly
Unable to obtain user-agent or client IP in websocket handshake on OpenShift ...
Status: CLOSED ERRATA
Product: OpenShift Container Platform
Classification: Red Hat
Component: Routing (Show other bugs)
2.2.0
Unspecified Unspecified
low Severity low
: ---
: ---
Assigned To: Rory Thrasher
zhaozhanqi
:
Depends On: 1313395
Blocks:
  Show dependency treegraph
 
Reported: 2016-07-28 14:19 EDT by Rory Thrasher
Modified: 2016-08-24 15:47 EDT (History)
10 users (show)

See Also:
Fixed In Version: openshift-origin-node-proxy-1.26.3.1-1.el6op
Doc Type: Bug Fix
Doc Text:
Cause: In the websocket handshake, several headers were not being passed through the node's proxy. Consequence: Applications who depended on the information in the user-agent, X-Forwarded-For, and X-Client-IP headers were not receiving the values of those headers. Fix: The node proxy is now configured to properly send these headers in websocket connections. Result: The user-agent, X-Forwarded-For, and X-Client-IP headers have proper values set that are available to the application
Story Points: ---
Clone Of: 1313395
Environment:
Last Closed: 2016-08-24 15:47:05 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2016:1773 normal SHIPPED_LIVE Important: Red Hat OpenShift Enterprise 2.2.10 security, bug fix, and enhancement update 2016-08-24 19:41:18 EDT

  None (edit)
Comment 4 Johnny Liu 2016-08-12 04:04:07 EDT
Because there is no available app to run this test, I move this bug to "ASSIGNED", once QE get such available app or only the PR merge is enough, pls move it to "ON_QA".
Comment 6 Johnny Liu 2016-08-21 22:24:41 EDT
Verify this bug with OpenShiftEnterpriseErrata/2.2/2016-08-16.1, and PASS.

Following comment 5, get the following result:
a). 
# ~/node_modules/wscat/bin/wscat --connect ws://websockettest-jialiu.ose22-auto.com.cn:8000
# tailf /var/log/openshift_gears
Aug 22 10:16:19 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 Incoming Request
Aug 22 10:16:19 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 HTTP REQUEST: GET / HTTP/1.1
Aug 22 10:16:19 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 Connection: Upgrade
Aug 22 10:16:19 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 Upgrade: websocket
Aug 22 10:16:19 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 Sec-WebSocket-Version: 13
Aug 22 10:16:19 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 Sec-WebSocket-Key: MTMtMTQ3MTgzMjE3OTYwNw==
Aug 22 10:16:19 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 user-agent: undefined
Aug 22 10:16:19 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 X-Forwarded-For: 10.72.5.41
Aug 22 10:16:19 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 X-Client-IP: 10.72.5.41
Aug 22 10:16:19 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 Host: 127.7.107.1:8080
Aug 22 10:16:19 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 Websocket handshake detected with key: MTMtMTQ3MTgzMjE3OTYwNw==


b). 
Create the following html test file:
$ cat test.html
  <html lang="en">
  <head>
    <title>Websocket Client</title>
  </head>
  <body>
    <script>
        console.log("I'm trying to connect!");
      var exampleSocket = new WebSocket("ws://websockettest-jialiu.ose22-auto.com.cn:8000");
      exampleSocket.onopen = function (event) {
        console.log("Connected!");
      };
    </script>
  </body>
  </html>

Access this file from local browser, get the following log from /var/log/openshift_gears
Aug 22 10:18:27 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 Incoming Request
Aug 22 10:18:27 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 HTTP REQUEST: GET / HTTP/1.1
Aug 22 10:18:27 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 Connection: Upgrade
Aug 22 10:18:27 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 Upgrade: websocket
Aug 22 10:18:27 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 Sec-WebSocket-Version: 13
Aug 22 10:18:27 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 Sec-WebSocket-Key: MTMtMTQ3MTgzMjMwNzIzNQ==
Aug 22 10:18:27 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 user-agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0
Aug 22 10:18:27 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 X-Forwarded-For: 10.72.5.41
Aug 22 10:18:27 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 X-Client-IP: 10.72.5.41
Aug 22 10:18:27 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 Origin: null
Aug 22 10:18:27 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 Host: 127.7.107.1:8080
Aug 22 10:18:27 node2 diy[917]: app=websockettest ns=jialiu appUuid=57ba5e0282611df8f20000dc gearUuid=jialiu-websockettest-1 Websocket handshake detected with key: MTMtMTQ3MTgzMjMwNzIzNQ==
Comment 8 errata-xmlrpc 2016-08-24 15:47:05 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2016-1773.html

Note You need to log in before you can comment on or make changes to this bug.