Differences

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

Link to this comparison view

Both sides previous revision Previous revision
litespeed_wiki:cache:no-plugin-advanced:reverse-proxy [2020/04/14 19:29]
Jackson Zhang
litespeed_wiki:cache:no-plugin-advanced:reverse-proxy [2020/04/14 19:30] (current)
Jackson Zhang
Line 1: Line 1:
 ~~REDIRECT>​litespeed_wiki:​proxy:​start~~ ~~REDIRECT>​litespeed_wiki:​proxy:​start~~
  
-====== Setup LSWS as cache reverse proxy ====== 
- 
- 
-===== Summary ===== 
- 
-LSWS can be setup as reverse proxy since earlier version (2.0). It can integrate with built-in cache to provide cache reverse proxy. This setup extends the benefit of LSCache for backends that are not necessarily using LSWS. It also provides the benefit of LSWS anti-ddos as well.  
- 
- 
- 
-===== Steps ===== 
- 
- 
- 
-==== 1. Create Web Server External App ==== 
-<​file>​ 
-      Admin CP => Configuration => Server => External App        ​ 
-         Type: Web Server 
-         Name: test-proxy 
-         ​Address:​ 10.1.2.3:80 
-         Max Connections:​ 150 
-         ​Initial Request Timeout (secs): 60 
-         Retry Timeout (secs): 0 
-</​file>​ 
- 
-**Note:** 
-   * Max Connections is for 1-CPU core. In other words, for a Web Host Professional license, the total Max Conn is 300 (150x2). ​ 
- 
- 
-==== 2. Create vhost for the proxy service ==== 
-<​file>​ 
-      Admin CP => Configuration => Virtual Hosts 
-         Basic 
-         ===== 
-           Base 
-             ​Virtual Host Name: proxy-vhost 
-             ​Virtual Host Root: $SERVER_ROOT/​proxy/​ 
-             ​Config File: $VH_ROOT/​conf/​vhconf.xml 
-           ​Connection 
-             Max Keep-Alive Requests: 1000 
-           ​Security 
-             ​Follow Symbolic Link: No 
-             ​Enable Scripts/​ExtApps:​ No 
-             ​Restrained:​ Yes 
-           Leave default for the rest. 
-</​file>​ 
- 
-<​file>​ 
-         ​General 
-         ​======= 
-           ​General 
-             ​Document Root: $VH_ROOT/​html/​ 
-</​file>​ 
- 
-==== 3. Create vhost level context ==== 
-<​file>​ 
-       Admin CP => Configuration => Virtual Hosts => Context 
-          Type: proxy 
-          URI: exp: /* 
-          Web Server: [Server Level]: test-proxy 
-          Leave default for the rest. 
-</​file>​ 
- 
-==== 4. Map vhost to listener ==== 
- 
- 
-==== 5. Enable cache for the vhost (proxy) ==== 
- 
- 5a. Enable cache at Server Level 
- 
- 5b. Set up cache policy at vhost Level 
- 
- 
-==== 6. Enable Per Client throttling for vhost (for http level anti-ddos) ==== 
- 
-**Note:​** ​ 
- 
-  - Some of the configuration settings (vhost name, IP addresses, etc) shown in the screenshots are meant for illustration purposes only.  
-  - The set up has been tested and worked on a production server running varnish+nginx+tomcat+postgresql,​ being able to defend 20000 requests/​sec HTTP ddos attacks (with LiteSpeed Advance Anti-DDoS setup). 
-  - Above setup can be easily extended to support proxy'​ing multiple backends with each vhost (with its own web server type context) per each backend. 
-  - The setup mentioned above can easily be extended to support load balancing multiple backends by creating a loadbalancer context at vhost level based on a loadbalancer external app (server or vhost level) with proxy::​backend* being its worker. 
  
  • Admin
  • Last modified: 2020/04/14 19:30
  • by Jackson Zhang