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:cache:webadc [2017/10/30 18:51]
Jackson Zhang [Enable Cache on ADC Without Plugin on Backend Web Server]
litespeed_wiki:cache:webadc [2018/05/15 13:30] (current)
Jackson Zhang [Enable Cache on ADC]
Line 1: Line 1:
-====== ​LSCache + LiteSpeed ​Web ADC ======+====== ​How to enable cache on LiteSpeed ADC ======
  
-To enable cache on ADC, you will need to set up a server-level cache root, a virtual-host-level cache root, and enable cache in the virtual host cache settings. ​ On the backend web server, you will need to install a LiteSpeed Cache plugin such as [[litespeed_wiki:​cache:​lscwp|LiteSpeed Cache for WordPress]] plugin or [[litespeed_wiki:​cache:​litemage|LiteMage for Magento]] extension, etc. If there is no cache plugin available for your application yet, you can use rewrite rules to enable caching on the virtual host setting of Web ADC.+To enable cache on ADC, you will need to set up a server-level cache root, a virtual-host-level cache root, and enable cache in the virtual host cache settings. ​ On the backend web server, you will need to install a LiteSpeed Cache plugin such as [[litespeed_wiki:​cache:​lscwp|LiteSpeed Cache for WordPress]] plugin or [[litespeed_wiki:​cache:​litemage|LiteMage for Magento]] extension, etc. If there is no cache plugin available for your application yet, or the backend end server with a third party and impossible to enable litespeed cache plugin on it,  ​you can use rewrite rules to enable caching on the virtual host setting of Web ADC.
  
 ===== Enable Cache on ADC With Plugin on Backend Web Server ===== ===== Enable Cache on ADC With Plugin on Backend Web Server =====
Line 20: Line 20:
   * Set **Check Public Cache** to ''​Yes''​   * Set **Check Public Cache** to ''​Yes''​
 {{:​litespeed_wiki:​cache:​adc-vh.png?​|}} {{:​litespeed_wiki:​cache:​adc-vh.png?​|}}
 +  * **Check Private cache** normally leave it as blank at most of the cases. Set it to ''​Yes''​ only if there is a private ESI block. ​
 ==== Install and Activate LiteSpeed Cache Plugin on Backend Web Server ==== ==== Install and Activate LiteSpeed Cache Plugin on Backend Web Server ====
 Install and activate your plugin according to that plugin'​s directions: Install and activate your plugin according to that plugin'​s directions:
Line 35: Line 35:
 ===== Enable Cache on ADC Without Plugin on Backend Web Server ===== ===== Enable Cache on ADC Without Plugin on Backend Web Server =====
  
-If a LiteSpeed cache plugin is not available, or you prefer to use rewrite rules to control the cache on ADC instead of backend ​web server, you can enable it on ADC through rewrite rules under virtual host/​context. The advantage of this will be centralized cache management on ADC. The disadvantage of this is far fewer situations the rewrite rules can handle than with a cache plugin. No universal rules can fit //​everything//​. Also for different backend applications,​ you will need to set different rules to fit the requirements of that application. This is far more complicated than just selecting "​Yes"​ and letting litespeed cache plugin to do all the rest for you automatically,​ right!? Don't worry, we are working on the rest of popular application cache plugins and will try to make them available as soon as we can.+If a LiteSpeed cache plugin is not available, or the backend end server with a third party and impossible to enable litespeed cache plugin on it, or you still prefer to centralize all cache settings ​on ADC instead of backend server, you can enable it on ADC through rewrite rules under virtual host/​context. The advantage of this will be centralized cache management on ADC. The disadvantage of this is far fewer situations the rewrite rules can handle than with a cache plugin. No universal rules can fit //​everything//​. Also for different backend applications,​ you will need to set different rules to fit the requirements of that application. This is far more complicated than just selecting "​Yes"​ and letting litespeed cache plugin to do all the rest for you automatically,​ right!? Don't worry, we are working on the rest of popular application cache plugins and will try to make them available as soon as we can.
  
 The rewrite rules are similar to those on LSWS and you can check here for [[litespeed_wiki:​cache:​no-plugin-setup-guidline|examples and details]]. The rewrite rules are similar to those on LSWS and you can check here for [[litespeed_wiki:​cache:​no-plugin-setup-guidline|examples and details]].
Line 55: Line 55:
   * Set **Check Public Cache** to ''​Yes''​   * Set **Check Public Cache** to ''​Yes''​
 {{:​litespeed_wiki:​cache:​adc-vh.png?​|}} {{:​litespeed_wiki:​cache:​adc-vh.png?​|}}
 +  * **Check Private cache** normally leave it as blank at most of the cases. Set it to ''​Yes''​ only if there is a private ESI block. ​
 ==== Set Rewrite Rules to Configure Cache ==== ==== Set Rewrite Rules to Configure Cache ====
 Set rewrite rules under rewrite tab (make sure rewrite is enabled in the settings): Set rewrite rules under rewrite tab (make sure rewrite is enabled in the settings):
Line 70: Line 70:
 ===== Testing ===== ===== Testing =====
  
-You can check if a page is being cached from WebADC ​by: +You can check if a WordPress ​page is being cached from Web ADC by: 
     - Navigating to your site from a non-logged-in browser and using your browser'​s developer tools to check the response header.     - Navigating to your site from a non-logged-in browser and using your browser'​s developer tools to check the response header.
     - Enter the URL ''<​nowiki>​http://​[Back_end_web_server_IP]/​[wordpress-path]</​nowiki>''​ and check that there is no cache from response header.     - Enter the URL ''<​nowiki>​http://​[Back_end_web_server_IP]/​[wordpress-path]</​nowiki>''​ and check that there is no cache from response header.
     - Enter the URL ''<​nowiki>​http://​[Web_ADC_IP]/​[wordpress-path]</​nowiki>''​. Reload the page and look for ''​X-LiteSpeed-Cache:​ hit''​ in the response headers. If it's there, then the page is being served by the cache.     - Enter the URL ''<​nowiki>​http://​[Web_ADC_IP]/​[wordpress-path]</​nowiki>''​. Reload the page and look for ''​X-LiteSpeed-Cache:​ hit''​ in the response headers. If it's there, then the page is being served by the cache.
-    - Modify a post with the WordPress application,​ then press Ctrl+F5 to refresh ''<​nowiki>​http://​[Web_ADC_IP]/​[wordpress-path]</​nowiki>'',​ you should see the updated posts.  ​+    - Modify a post with the WordPress application,​ then press **Ctrl+F5** to refresh ''<​nowiki>​http://​[Web_ADC_IP]/​[wordpress-path]</​nowiki>'',​ you should see the updated posts.  ​ 
 + 
 +==== Will I see "​Cache-Control:​max-age"​ header"​ when I use lscache? ==== 
 +No. Please be aware there are two different concepts: ''​Cache-Control:​max-age''​ is a regular cache response header which controls the cache behavior of a browser or public proxy, //not// LSCache from the server side.  While ''​[E=cache-control:​max-age=120]''​ is to control LiteSpeed'​s internal server cache and //​won'​t//​ affect browser cache.  
 +Our cache engine won't insert the regular client/​browser ''​Cache-Control''​ header because it is not desired to let the browser or proxy cache the dynamic content. This would remove cache control from the server, and if LSCache no longer has control, it will be unable to purge updated content. As a result, the browser will serve out-of-date pages. 
 +  
 +''​x-litespeed-cache-control''​ is on our ADC to do list. 
  
 +If there is still a need to let the browser cache content, you can configure the backend to insert regular "​Cache-Control"​ headers.
 +   
 +{{ :​litespeed_wiki:​cache:​adc-cache-rewrite-max-control-header.png?​600 |}}
 ===== Turning On the Web ADC Debug Log ===== ===== Turning On the Web ADC Debug Log =====
 To turn on the Web ADC Debug Log, you would follow the exact same steps that are laid-out [[litespeed_wiki:​config:​toggle-debug-logging|here]] for LiteSpeed Web Server. To turn on the Web ADC Debug Log, you would follow the exact same steps that are laid-out [[litespeed_wiki:​config:​toggle-debug-logging|here]] for LiteSpeed Web Server.
  
  • Admin
  • Last modified: 2017/10/30 18:51
  • by Jackson Zhang