/Apache HTTP Server

Apache Module mod_proxy_wstunnel

Description: Websockets support module for mod_proxy
Status: Extension
ModuleIdentifier: proxy_wstunnel_module
SourceFile: mod_proxy_wstunnel.c
Compatibility: 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. ANY means that Upgrade will read in the request headers and use in the response Upgrade

© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.