server {
  listen 80;
  server_name _;
  resolver 127.0.0.11;
  client_max_body_size 64M;

  # Route all traffic to app
  location / {
    proxy_pass http://frontend:3003;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host              $http_host;
    proxy_set_header X-Real-IP         $remote_addr;
    proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_redirect off;
    proxy_read_timeout 600s;
  }

  location ~* /graphql {
    proxy_pass http://varnish:80;
    proxy_set_header Host              $http_host;
    proxy_set_header X-Real-IP         $remote_addr;
    proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_redirect off;
    proxy_read_timeout 600s;
  }

    location ~* /rest {
      proxy_pass http://nginx:8090;
      proxy_set_header Host              $http_host;
      proxy_set_header X-Real-IP         $remote_addr;
      proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
      proxy_redirect off;
      proxy_read_timeout 600s;
    }

  location ~* /(static|media|admin) {
    proxy_pass http://varnish:80;
    proxy_set_header Host              $http_host;
    proxy_set_header X-Real-IP         $remote_addr;
    proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_redirect off;
    proxy_read_timeout 600s;
  }
}
