Apache 2.4 has support for websocket using proxy configuration using module mod_proxy_wstunnel.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
User needs to remove # comment for proxy related modules like
please un comment
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
backend.server.com is backend server name
Configure proxy and passpass rules
ProxyPass / ws://backend.server.com:8080/
ProxyPassReverse / ws://backend.server.com:8080/
ProxyPass / wss://backend.server.com:8080/
ProxyPassReverse / wss://backend.server.com:8080/
ProxyPass / http://backend.server.com:8080/
ProxyPassReverse / http://backend.server.com:8080/
Order of this module is imported.
If modules are loaded sucessfully. following lines are seen in Apache httpd trace log server
[proxy:debug] [pid :tid 4] proxy_util.c(1777): AH00925: initializing worker ws://backend.server.com:8080/ shared
[proxy:debug] [pid :tid 4] proxy_util.c(1819): AH00927: initializing worker ws://backend.server.com:8080/ local
[proxy:debug] [pid :tid 4] proxy_util.c(1853): AH00930: initialized pool in child 916 for (backend.server.com) min=0 max=64 smax=64
[proxy:debug] [pid :tid 4] proxy_util.c(1777): AH00925: initializing worker wss://backend.server.com:8080/ shared
[proxy:debug] [pid :tid 4] proxy_util.c(1819): AH00927: initializing worker wss://backend.server.com:8080/ local
[proxy:debug] [pid :tid 4] proxy_util.c(1853): AH00930: initialized pool in child 916 for (backend.server.com) min=0 max=64 smax=64
[proxy:debug] [pid :tid 4] proxy_util.c(1777): AH00925: initializing worker http://backend.server.com:8080/ shared
[proxy:debug] [pid :tid 4] proxy_util.c(1819): AH00927: initializing worker http://backend.server.com:8080/ local
[proxy:debug] [pid :tid 4] proxy_util.c(1853): AH00930: initialized pool in child 916 for (backend.server.com) min=0 max=64 smax=64
[proxy:debug] [pid :tid 4] proxy_util.c(1777): AH00925: initializing worker proxy:reverse shared
[proxy:debug] [pid :tid 4] proxy_util.c(1819): AH00927: initializing worker proxy:reverse local