Section | Syntax | Description | Availability |
---|---|---|---|
**http** | **wurfl_enable** | Enable/Disable the WURFL module. Since version 1.8.4.1, the WURFL module is disabled by default and will need to be enabled: `wurfl_enable on;`
Otherwise all WURFL commands will be ignored and the WURFL module will not be loaded. Possible values: on/off. Default value: off. |
1.9 |
**http** | **wurfl_root** | Defines the location (path) of the WURFL data file. | 1.4 |
**wurfl_updater** | Allows seamless updates of the WURFL Engine with new data downloaded from Scientiamobile.
This directive must follow `wurfl_root`. It takes two parameters: • the `data url` (taken from your personal Scientiamobile Vault account, choosing between two data file types: `.zip` or `.xml.gz`) Take care that `wurfl_root` file type and `wurfl_updater` `data url` file types match so you may need to change the `wurfl_root` file type accordingly. Please note that in the case your license is expired, NGINX won't start with Updater configured. • the `updater checking frequency` (how often the updater checks for any new WURFL data file to be downloaded and used by the engine) which you can choose between `DAILY` and `WEEKLY`. In order to let the Updater perform its activities both the `wurfl_root` folder and file must be writable by NGINX. The `wurfl-updater.log` file in `wurfl_root` folder will contains details on Updater activity. |
1.8.3 | |
**wurfl_patch** | Adds one or more custom patch files to the WURFL repository. | 1.4 | |
**wurfl_target_default** or **wurfl_target_fast_desktop_browser_match** or **wurfl_target_performance** or **wurfl_target_accuracy** |
`These configuration options are deprecated and will be removed in a future release.` | 1.4 | |
**wurfl_cache_lru** or **wurfl_cache_null** |
In order to increase performance while processing real HTTP traffic, we suggest setting up a `LRU` cache. The `LRU` caching strategy will speed up lookup operations on processed User Agents by keeping them in an LRU map. By default the cache will be set to 30000 entries which accounts for 7 to 10 MB of additional memory usage. Specific concerns regarding memory usage apart, users are advised to size their cache generously (100,000 or more) to increase performance. For more information, please see [LRU Cache Mechanism](https://en.wikipedia.org/wiki/Cache_replacement_policies#Least_recently_used_(LRU)). | 1.4 | |
**wurfl_request_capability** | Enables injection of WURFL Static Capabilities/Virtual Capabilities in the HTTP request headers with your specified parameter(s). Syntax: **wurfl_request_capability <static capability/virtual capability name>** You can find the complete list of WURFL Static Capabilities and WURFL Virtual Capabilities [here](https://www.scientiamobile.com/capabilities). If a Static Capability/Virtual Capability is specified in a `wurfl_request_capability` command, WURFL NGINX module set a NGINX variable whose name is **wurfl_cap_ |
1.4 | |
**wurfl_useragent_priority_override_sideloaded_browser_useragent** or **wurfl_useragent_priority_use_plain_useragent** |
`These configuration options are deprecated and will be removed in a future release.` | 1.5.2 | |
**wurfl_request_property** | Enables injection of WURFL Properties (see section `WURFL Properties` below) in the HTTP request headers. Syntax: **wurfl_request_property <variable name>** Not mandatory. |
1.8 | |
**server** | **wurfl_do_not_process_url** | A regular expression defining which URLs hasn't to be injected with wurfl data.
Syntax: **wurfl_do_not_process_url <url regex> <rule name>** Not mandatory. You can specify more than one `wurfl_do_not_process_url` The URLs will be processed in this manner: Check if a `wurfl_do_not_process_url` regex matches the URL. • If yes, the URL itself will not be injected and no further checks will be made. • If no, check if a `wurfl_process_url` regex matches the url. • • If yes, the url itself will be injected The fallback behaviour in case the url doesn't match any `wurfl_do_not_process_url`/`wurfl_process_url` rule is: • **INJECTION** if the list of `wurfl_process_url` is empty • **NO INJECTION** if the list of `wurfl_process_url` is not empty |
1.8 |
**wurfl_process_url** | A regular expression defining which URLs has to be injected with wurfl data. Syntax: **wurfl_process_url <url regex> <rule name>** Not mandatory. You can specify more than one `wurfl_process_url`. The urls will be processed in this manner: Check if a `wurfl_do_not_process_url` regex matches the URL. • If yes, the URL itself will not be injected and no further checks will be made. • If no, check if a `wurfl_process_url` regex matches the URL. • • If yes, the URL itself will be injected The fallback behaviour in case the URL doesn't match any `wurfl_do_not_process_url`/`wurfl_process_url` rule is: • **INJECTION** if the list of `wurfl_process_url` is empty • **NO INJECTION** if the list of `wurfl_process_url` is not empty |
1.8 | |
**wurfl_log_header_injection** | Enable/disable logging of occurred injections. You can choose between **on**/**off** Not mandatory. (default value is off) |
1.8 |
Variable Name | Contents | Availability |
---|---|---|
wurfl_id | Contains the device ID of the matched device. It is injected by default so you don't have to specify it in a `wurfl_request_property` command | 1.4 |
wurfl_root_id | Contains the device root ID of the matched device. | 1.4 |
wurfl_isdevroot | Tells if the matched device is a root device. Possible values are "TRUE" or "FALSE" | 1.4 |
wurfl_useragent | The original useragent coming with this particular web request | 1.5.1 |
wurfl_api_version | Contains a string representing the currently used libwurfl API version | 1.5.1 |
wurfl_engine_target | `This property is deprecated and will be removed in a future release.` | 1.5.1 |
wurfl_info | A string containing information on the parsed WURFL data file and its full path | 1.5.1 |
wurfl_last_load_time | Contains the UNIX timestamp of the last time WURFL has been loaded successfully. | 1.5.1 |
wurfl_normalized_useragent | The normalized useragent. | 1.5.1.3 |
wurfl_useragent_priority | `This property is deprecated and will be removed in a future release.` | 1.5.2 |