Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
litespeed_wiki:proxy:lsws-as-a-websocket-proxy [2018/01/19 22:05]
Michael Alegre [Final Test: The Front End]
litespeed_wiki:proxy:lsws-as-a-websocket-proxy [2020/01/09 00:36] (current)
Lisa Clarke [How to Configure LSWS in cPanel as a WebSocket Proxy] Proofreading
Line 17: Line 17:
 {{ :​litespeed_wiki:​proxy:​add-websocket-proxy1.png?​600 |}} {{ :​litespeed_wiki:​proxy:​add-websocket-proxy1.png?​600 |}}
  
-As you can see, it tested successfully +This screenshot shows a successful test. If it had failed, you would see a ''​Simple WebSocket Client undefined''​ error, like so:
- +
-If it had failed, you would see a ''​Simple WebSocket Client undefined''​ error, like so:+
  
 {{ :​litespeed_wiki:​proxy:​add-websocket-proxy2-testfail.png?​600 |}} {{ :​litespeed_wiki:​proxy:​add-websocket-proxy2-testfail.png?​600 |}}
  
-===== How to Configure LSWS as a WebSocket Proxy =====+===== How to Configure LSWS Native Virtual Host as a WebSocket Proxy =====
 In the LSWS WebAdmin Console, navigate to **Virtual Host (Native) > General > Web Socket Proxy Setup** In the LSWS WebAdmin Console, navigate to **Virtual Host (Native) > General > Web Socket Proxy Setup**
  
Line 29: Line 27:
 {{ :​litespeed_wiki:​proxy:​add-websocket-proxy4.png?​800 |}} {{ :​litespeed_wiki:​proxy:​add-websocket-proxy4.png?​800 |}}
  
-Configure **URI** and **Address**.+Configure **URI** and **Address**. ​The URI can be a plain URI (starting with "/"​). The **URI** can be an exact match. If a plain URI ends with a "/",​ then this WebSocket backend will include all sub-URIs under this URI, such as **/sub/** should include /sub/001, /sub/002... etc.  However, the regular expression, such as ''/​sub/​*'',​ will **not** work for WebSocket. 
  
 Save and restart LSWS. Save and restart LSWS.
 +
 +===== How to Configure LSWS in cPanel as a WebSocket Proxy =====
 +
 +LSWS supports ''​ProxyPass''​ for WebSocket, used like so: 
 +
 +<​code>​ProxyPass / ws://​localhost:​3000/</​code>​
 +
 +**Note**: This directive must be placed in an Apache vhost configuration file, not in .htaccess.
 +
 +For example, for RocketChat, create two files like these, replacing ''​EXAMPLE''​ and ''​www.example.com''​ with the cPanel username and the actual domain:
 +
 +''/​etc/​apache2/​conf.d/​userdata/​ssl/​2_4/​EXAMPLE/​www.example.com/​proxy.conf''​
 +
 +''/​etc/​apache2/​conf.d/​userdata/​std/​2_4/​EXAMPLE/​www.example.com/​proxy.conf''​
 +
 +Add the following code to both files:
 +
 +<​code><​IfModule mod_rewrite.c>​
 +RewriteEngine on
 +RewriteRule (.*) http://​localhost:​3000/​$1 [P,L]
 +ProxyPass / ws://​localhost:​3000/​
 +</​IfModule></​code>​
 +
 +Rebuild the Apache configuration file, and restart LSWS:
 +
 +<​code>/​scripts/​buildhttpdconf
 +
 +/​usr/​local/​lsws/​bin/​lswsctrl restart</​code>​
  
 ===== Final Test: The Front End ===== ===== Final Test: The Front End =====
  • Admin
  • Last modified: 2018/01/19 22:05
  • by Michael Alegre