proxy_redirect          off;

map $http_host $upstream_host {
    default "$host";
    ~. "$http_host";
}
proxy_set_header        Host              $upstream_host;

proxy_set_header        X-Real-IP         $remote_addr;
proxy_set_header        X-Forwarded-For   $proxy_add_x_forwarded_for;

map $http_x_forwarded_proto $upstream_scheme {
    default "$scheme";
    ~. "$http_x_forwarded_proto";
}
proxy_set_header        X-Url-Scheme      $upstream_scheme;
proxy_set_header        X-Forwarded-Proto $upstream_scheme;

client_max_body_size    505m;
client_body_buffer_size 128k;
proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffer_size       128k;
proxy_buffers           4 256k;
proxy_busy_buffers_size 256k;
large_client_header_buffers 4 32k;
