client_max_body_size 20G;
client_body_temp_path /var/log/nginx/client_body 1 2;
server_name _;

set_real_ip_from 172.17.0.0/16;
real_ip_header X-Forwarded-For;

keepalive_timeout 5;

if ($args ~ "_escaped_fragment_") {
    rewrite ^ /snapshot$uri;
}

location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_buffering off;

    proxy_request_buffering off;
    proxy_set_header Transfer-Encoding $http_transfer_encoding;

    proxy_pass   http://app_server;
    proxy_read_timeout 2000;
    proxy_temp_path /var/log/nginx/proxy_temp 1 2;
}

location /static/ {
    # checks for static file, if not found proxy to app
    alias /static/;
}

location /v1/_ping {
    add_header Content-Type text/plain;
    add_header X-Docker-Registry-Version 0.6.0;
    add_header X-Docker-Registry-Standalone 0;
    return 200 'okay';
}