mod_proxy_wstunnel - Apache HTTP Server Version 2.4

Apache HTTP Server Version 2.4

Apache > HTTP Server > Documentation > Version 2.4 > Modules

# Apache Module mod_proxy_wstunnel

Available Languages: en

Description: | Websockets support module for `mod_proxy`
Status: | Extension
Module Identifier: | proxy_wstunnel_module
Source File: | mod_proxy_wstunnel.c
Compatibility: | Available in httpd 2.4.5 and later

### Summary

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`

### Directives

This module provides no directives.

### Bugfix checklist

- httpd changelog
- Known issues
- Report a bug

### See also

- `mod_proxy`
- Comments

Available Languages: en

## Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.