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]