https://issues.apache.org/bugzilla/show_bug.cgi?id=55890

            Bug ID: 55890
           Summary: mod_proxy_wstunnel does not work with reused backend
                    connections
           Product: Apache httpd-2
           Version: 2.4.7
          Hardware: All
                OS: All
            Status: NEW
          Severity: major
          Priority: P2
         Component: mod_proxy
          Assignee: [email protected]
          Reporter: [email protected]

I am running websocket connections via mod_proxy_wstunnel to a backend
application server. Apache works as a reverse proxy.

After running for some time, I get 500 errors from the backend server for new
client connection attempts.

Root cause is that mod_proxy_wstunnel reuses the connections to the backend
server.

When the client attempts a new connection, mod_proxy_wstunnel forwards the
initial GET request of the websocket handshake to the backend, on a connection
which has already been handshook. The backend server is not prepared for a new
handshake on a handshook connection and replies with a 500 error.

Workaround:
Use disablereuse=on for the ProxyPass directive.

Possible solutions:
I think connection reuse should be disabled altogether for websocket
connections (except the websocket protocol somehow allows it).
mod_proxy_wstunnel should either fail on startup when connection reuse is
enabled, or alternatively, always request a fresh backend connection,
regardless of the disablereuse setting.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to