• About Us
  • Blog
  • Basket
  • Account
  • Sign In


51Degrees NGINX Module

Published on Wednesday, June 29, 2016

51Degrees NGINX Module

The new NGINX module has now been released as beta

Please refer to our latest blog on NGINX. The 51Degrees NGINX module is certified and live since this blog was written.

NGINX is a load balancing reverse proxy which is written to be very fast. It is used mainly in systems that see a lot of traffic and need to route requests to multiple servers, but has been used in a wide variety of systems as well.

The new 51Degrees NGINX module combines patented device detection with the simplicity of NGINX. Detection can be carried out on an NGINX load balancing server with just one line in the configuration and installation requires no changes to the existing web server implementation. With all the work being done in NGINX’s request cycle, the properties of the device are simply passed to the web server as additional HTTP headers. As well as User-Agent matching, the module supports multiple HTTP header matching with no extra code in order to catch tricky browsers like Opera Mini.

A simple example of how the module can be seen below.


http { Server { Location / { 51D_match_all x-device DeviceType,PlatformName,HardwareName; 51D_match_all x-metrics DeviceId,Method,Rank; ... } } } 


Here the two headers are added to all incoming requests. The first header “x-device” contains information about the device, the second “x-metrics” contains match metrics indicating the accuracy of the match, and the popularity of the device.

Carrying out device detection in this way makes web optimisation easier by removing the need for any software integration on an existing website. All that is needed is an “if” statement such as “if tablet” or “if smartphone”. The time penalty for a request when using the 51Degrees NGINX module is as little as 0.001 ms on an i7 or similar processor.

Full benchmarking results can be found at https://51Degrees.com/Support/Documentation/APIs/C-V32/Benchmarks.

Full installation, test, and usage instructions can be found at https://github.com/51Degrees/Device-Detection/tree/master/nginx.

Comments (0)

Author: Ben Shillito

Categories: Development, News

Tags: C , NGINX , Server

Ben Shillito

Ben Shillito

Other posts by Ben Shillito
Contact author



.NET 4G 51Degrees 5G Acer Adform Adtech Advertising Afilias Alcatel Amazon AMP Analysis Analytics Android Apache API Apple Asian Market ASP.NET Asus Blackberry Browser C C# Centro Chrome chromium Client hints Cloud CMS CPU CSS3 Data Data Blog Data File Daydream Design Detection Developers Device Device Data Device Detection Device Intelligence Device Models Device property DeviceAtlas Disney dmexco DotNetNuke Download ebay Ericsson Event Facebook Firefox Foundation Framework Galaxy git repositories Google Google Analytics Google Daydream GPU GSMA Guess HAProxy Hash Trie HTC HTML5 HTTP HTTP Headers Huawei Infinix Ingeniux Internet usage iOS iOS 13 ipad iPadOS iPhone iPhone 11 Java Javascript Kentico LG Liferay LTE m.dot Memory Memory leak Meta Data Microsoft Mobile Mobile Analysis Mobile Analytics Mobile Devices Mobile Marketing Mixer Motorola Mozilla MWC MWC 2017 MWC16 Native Apps NET New Release News Nexus NFC NGINX Nokia OnePlus 5 Opera Operating System Oppo Optimisation OS Patent Performance PHP Press Release Price Band programmatic Publishers Python Redirection Research Responsive Images Responsive web design RESS Review RTB RWD Safari Samsung Scala ScientiaMobile SEO Server Server-side optimisation Seznam.cz Sitecore Smart TV Smartphone Smartwatches Sony Swedish Beers Tablet Tencent Testing Tips Tutorial Umbraco Update User Agent User-Agent Valgrind Varnish Varnish Cache Video Vodafone VoLTE Web Web Apps Web content management Webtrekk White Paper Widgets WiFi Windows WURFL Xiaomi Xperia ZTE