mod_proxy_wstunnel
Websockets support module for mod_proxy
Extension
mod_proxy_wstunnel.c
proxy_wstunnel_module
Available in httpd 2.4.5 and later

This module requires the service of mod_proxy. It provides support for the tunnelling of web socket connections to a backend websockets server. The connection is automatically upgraded to a websocket connection:

# HTTP Response

Upgrade: WebSocket Connection: Upgrade

Proxying requests to a websockets server like `echo.websocket.org` can be done using the ProxyPass directive:

ProxyPass "/ws2/" "ws://echo.websocket.org/" ProxyPass "/wss2/" "wss://echo.websocket.org/"

Load balancing for multiple backends can be achieved using mod_proxy_balancer.

In fact the module can be used to upgrade to other protocols, you can set the `upgrade` parameter in the ProxyPass directive to allow the module to accept other protocol. NONE means you bypass the check for the header but still upgrade to WebSocket.

mod_proxy