location {{location | default("/")}}
{
  {% if oauth2_proxy_enabled | default(false) | bool %}
    {% include 'roles/docker-oauth2-proxy/templates/following_directives.conf.j2'%}
  {% endif %}

  proxy_pass http://127.0.0.1:{{http_port}}{{location | default("/")}};

  # headers
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-Forwarded-Port 443;
  proxy_set_header Accept-Encoding "";

  {% include 'roles/nginx-docker-reverse-proxy/templates/headers/content_security_policy.conf.j2' %}

  # WebSocket specific header
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";

  # deactivate buffering
  proxy_buffering off;
  proxy_request_buffering off;

  # timeouts
  proxy_connect_timeout       1s;
  proxy_send_timeout          900s;
  proxy_read_timeout          900s;
  send_timeout                900s;
}