Project

General

Profile

Mod wstunnel » History » Revision 4

Revision 3 (gstrauss, 2017-09-23 21:28) → Revision 4/17 (gstrauss, 2017-09-24 02:50)

h1. mod_wstunnel 

 {{>toc}} 

 *Module: mod_wstunnel* 

 WebSocket tunnel endpoint.    This module terminates the websocket tunnel from a client.    This module then passes data (without websocket frames) to a backend and encodes responses from backend in websocket frames before sending responses to client. 

 *EXPERIMENTAL* (new in lighttpd 1.4.46) 

 Note: if looking to proxy websockets to a backend, then see [[Docs_ModProxy]], [[Docs_ModCGI]], or other backends, some of which can be enabled to be transparent proxies to backends after client sends @Upgrade: websocket@ 

 h2. Description 

 Brief description of [[Docs_ConfigurationOptions#mod_wstunnel|mod_wstunnel directives]] 

 table{margin-left: 2em}. 
 |_.option |_. description | 
 | wstunnel.server | backend server definition(s) for hosts to which to send requests; [[Docs_ConfigurationOptions#gw_backend-gateway-server-host-options|options]] for each backend host requests | 
 | wstunnel.balance | load-balancing algorithm for backends ("fair", "least-connection", "round-robin", "hash", or "sticky") | 
 | wstunnel.debug | debug level (value between 0 and 65535) | 
 | wstunnel.frame-type | websocket frame type: "text" or "binary" | 
 | wstunnel.map-extensions | map multiple extensions to the same wstunnel backend | 
 | wstunnel.origins | list of permitted origins in Origin request header (optional) | 
 | wstunnel.ping-interval | send websocket PING frame at given interval in sec (default 0; none sent) | 

 table{margin-left: 4em}. 
 |_.wstunnel.server-option |_. description | 
 | host | ip of the backend process | 
 | port | tcp-port on the "host" used by the backend process | 
 | socket | path to the unix-domain socket | 
 | bin-path | path to the local backend binary which should be started if no local backend is running | 
 | bin-environment | set environment of backend binary | 
 | bin-copy-environment | copy environment from server for backend binary | 
 | disable-time | time to wait before a disabled backend is checked again | 
 | idle-timeout | number of seconds before a unused process gets terminated | 
 | listen-backlog | listen backlog queue size (for backend daemons started by mod_wstunnel) | 
 | max-load-per-proc | maximum number of waiting processes on average per process before a new process is spawned | 
 | max-procs | upper limit of processes to start | 
 | min-procs | sets the minimum processes to start | 

 Details for @wstunnel.server@ wstunnel.server parameters can be found in [[Docs_ModFastCGI|mod_fastcgi]] documentation, since the wstunnel module shares the same code infrastructure with the FastCGI module, and fastcgi.server parameters are very similar.