Created

Embed URL

HTTPS clone URL

SSH clone URL

You can clone with HTTPS or SSH.

Download Gist

Mobile device detection in Nginx with just 7 lines of configuration

View gist:1326701
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
### Testing if the client is a mobile or a desktop.
### The selection is based on the usual UA strings for desktop browsers.
 
## Testing a user agent using a method that reverts the logic of the
## UA detection. Inspired by notnotmobile.appspot.com.
map $http_user_agent $is_desktop {
default 0;
~*linux.*android|windows\s+(?:ce|phone) 0; # exceptions to the rule
~*spider|crawl|slurp|bot 1; # bots
~*windows|linux|os\s+x\s*[\d\._]+|solaris|bsd 1; # OSes
}
 
## Revert the logic.
map $is_desktop $is_mobile {
1 0;
0 1;
}
Owner

I've updated the directive to support IE9 on Windows Phone.

Owner

Added the bot detection.

The following is a reference to an open (but not open source) solution provided by my company to detect mobile devices (or any kind of HTTP client in fact) through NGINX.

http://www.scientiamobile.com/blog/post/view/id/25/title/HTTP-and-Mobile%3A-The-Missing-Header-

I figured that companies looking for a professionally supported solution in this space may want to know about it.

Thanks

Luca

Thanks!

Would you please give an usage example?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.