text: worker_processes 1;
  
  events {
    worker_connections 1024;
  }
  
  http {
    include mime.types;
    default_type  application/octet-stream;
  
    #
    # < regular Nginx configuration here >
    #
  
    # For a hands-on explanation of using Accept negotiation, see:
    # http://www.igvita.com/2013/05/01/deploying-webp-via-accept-content-negotiation/
  
    # For an explanation of how to use maps for that, see:
    # http://www.lazutkin.com/blog/2014/02/23/serve-files-with-nginx-conditionally/
  
    map $http_accept $webp_suffix {
      "~*webp"  ".webp";
    }
    map $msie $cache_control {
        "1"     "private";
    }
    map $msie $vary_header {
        default "Accept";
        "1"     "";
    }
  
    # if proxying to another backend and using nginx as cache
    proxy_cache_path  /tmp/cache levels=1:2 keys_zone=my-cache:8m max_size=1000m inactive=600m;
    proxy_temp_path /tmp/cache/tmp;
  
    server {
      listen       8081;
      server_name  localhost;
  
      location ~ \.(png|jpe?g)$ {
        # set response headers specially treating MSIE
        add_header Vary $vary_header;
        add_header Cache-Control $cache_control;
        # now serve our images
        try_files $uri$webp_suffix $uri =404;
      }
  
      # if proxying to another backend and using nginx as cache
      if ($http_accept ~* "webp")    { set $webp_accept "true"; }
      proxy_cache_key $scheme$proxy_host$request_uri$webp_local$webp_accept;
  
      location ~ ^/proxy.*\.(png|jpe?g)$ {
        # Pass WebP support header to backend
        proxy_set_header  WebP  $webp_accept;
        proxy_pass http://127.0.0.1:8080;
        proxy_cache my-cache;
      }
    }
  }
  