Created
May 2, 2012 22:38
-
-
Save omega8cc/2581079 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
####################################################### | |
### nginx default maps | |
####################################################### | |
### | |
### Support separate Boost and Speed Booster caches for various mobile devices. | |
### | |
map $http_user_agent $device { | |
default normal; | |
~*Nokia|BlackBerry.+MIDP|240x|320x|Palm|NetFront|Symbian|SonyEricsson mobile-other; | |
~*iPhone|iPod|Android|BlackBerry.+AppleWebKit mobile-smart; | |
~*iPad|Tablet mobile-tablet; | |
} | |
### | |
### Set a cache_uid variable for authenticated users (by @brianmercer and @perusio, fixed by @omega8cc). | |
### | |
map $http_cookie $cache_uid { | |
default ''; | |
~SESS[[:alnum:]]+=(?<session_id>[[:graph:]]+) $session_id; | |
} | |
### | |
### Live switch of $key_uri for Speed Booster cache depending on $args. | |
### | |
map $request_uri $key_uri { | |
default $request_uri; | |
~(?<no_args_uri>[[:graph:]]+)\?(.*)(utm_|__utm|_campaign|gclid|source=|adv=|req=) $no_args_uri; | |
} | |
### | |
### Set cache expiration depending on the Drupal core version. | |
### | |
map $sent_http_x_purge_level $will_expire_in { | |
default on-demand; | |
~*5|none 5m; | |
} | |
### | |
### Deny crawlers. | |
### | |
map $http_user_agent $is_crawler { | |
default ''; | |
~*HTTrack|2009042316.*Firefox.*3\.0\.10|MJ12|HTMLParser|libwww|PECL|Automatic|Click|SiteBot|BuzzTrack|Sistrix|Offline|Screaming|Nutch|Mireo|SWEB|Morfeus is_crawler; | |
} | |
### | |
### Deny all known bots on some URIs. | |
### | |
map $http_user_agent $is_bot { | |
default ''; | |
~*crawl|goog|yahoo|yandex|spider|bot|tracker|click|parser is_bot; | |
} | |
### | |
### Deny almost all crawlers under high load. | |
### | |
map $http_user_agent $deny_on_high_load { | |
default ''; | |
~*crawl|goog|yahoo|yandex|baidu|bing|spider|tracker|click|parser deny_on_high_load; | |
} | |
### | |
### Deny listed requests for security reasons. | |
### | |
map $args $is_denied { | |
default ''; | |
~*delete.+from|insert.+into|select.+from|union.+select|onload|\.php.+src|system\(.+|document\.cookie|\;|\.\. is_denied; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment