WebCDN




WebCDN is frontend, backend, caching, CDN, proxy, security gateway, stand alone and api-server all at the same time supporting


Configuration is done in a active-active redundant or single SQL database which is only required to be up in case of cache-miss or changes. You can also configure a default/fallback policy_any_* in the configuration file

Click here for information about SQL configuration


Need performance tips? Click here

File configuration parameters

You will also find example config file within the jwebcdn package
ContextKey
Values
Default
Description
httpd httpd_engine webcdn
Name of the web engine to load
httpd::cachecache_pathstring, path
Where the cache module store cache data
httpd::cachecache_pathmode_full0 or 1
Split long URLs into subfolders
webcdn webroot

Folder path containing web files
webcdn webroot_waf
same as webroot Folder path containing waf web files
webcdn access_enabled 0 or 1 0 Require authentication for all requests
webcdn rate_limit_mode 0 or 1 0 Return 429 responses when rate limiting occurrs via kernel TPROXY. Does not apply for CDN cached content
webcdn proxy_host hostname
If request contains this hostname, respond with proxy page
webcdn backend_timeout integer 120 Seconds response timeout used for backends (php etc)
webcdn backend_local_php_worker_min integer 20 If there are less than this amount of free workers, recycle finished workers
webcdn backend_local_php_worker_max integer 100 Hard limit of total running workers. Causes 429 if above
webcdn backend_loke_log_level integer 0 The minimum priority level of a log event generated in a backend required in order to send it to loke
webcdn backend_local_php_hardened 0 or 1 0 Use hardened PHP workers with WAF.
webcdn policy_any 0 or 1 0 Use a config default policy when no match
webcdn policy_any_backend local, host
Backend to use for default policy
webcdn policy_any_waf string. Analytics, authentication, redirect etc
WAF module to use for default policy
webcdn policy_any_waf_path string. Multiple keys allowed all paths Paths to bind WAF module to
webcdn policy_any_cache_mode integer 0 0 - no cache. 1 - strict caching. 2 - cache requests without cookies. 3 - cache requests regardless of cookies
webcdn policy_any_allow integer 1 0 - deny. 1 - allow. 2 - Allow and add strict CSP
webcdn policy_any_redirecturl_ondown URL
Send a 302 with this URL when no backends are available
webcdn policy_any_force_tls 0 or 1 0 Send a 301 to https if request was made with http
webcdn policy_any_redirecturl_ondown URL
Send a 302 with this URL when no backends are available
webcdn policy_any_captcha_mode integer 0 Autocaptcha. 0 - no captcha. 1 - captcha. 2 - captcha on special login and myaccount pages. 3 - captcha on pages with more than 3 subfolders or 4 parameters in URL
webcdn policy_any_cache_cookie_ignore regex. Multiple keys allowed
Used by cache handler. If match, remove the received cookie when processing response
webcdn policy_any_cache_cookie_allow regex. Multiple keys allowed
Used by cache handler. If match, allow the received cookie when processing response. Preceeds policy_any_cache_cookie_ignore
webcdn policy_any_cache_cookie_nocache regex. Multiple keys allowed
Used by cache handler. Set cache mode to 0 for response if a cookie name matches
webcdn policy_any_cache_url_nocache regex. Multiple keys allowed
Used by cache handler. Set cache mode to 0 for response if request URL matches
libjmodule_jid See JID documentation

Authentication support
libjmodule_stats See JStats documentation

Analytics support
webcdn stats_resolution 60, 300
Resolution used for JStats reporting
libjmodule_sql See SQL documentation

SQL database support when not using default policy
libjmodule_dns See DNS documentation

DNS operations support primarily used by backends
libjmodule_jdb See JDB documentation

If enabled, uses JDB based cache storage instead of file based