server {
  listen              8080;
  server_name         0.0.0.0;
  error_page          500 502 503 504  /50x.html;
  charset             utf-8;
  proxy_hide_header   X-Frame-Options;
  add_header          X-Frame-Options "";
  
  # Media: images, icons, video, audio, HTC
  location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc|woff2)$ {
    expires 1y;
    access_log off;
    add_header Cache-Control "public";
  }

  # CSS and Javascript
  location ~* \.(?:css|js)$ {
    expires 1y;
    access_log off;
    add_header Cache-Control "public";
  }

  # Allow performing POST requests on static JSON files
  location ~* \.(?:json)$ {
    error_page 405 =200 $uri;
  }

  location / {
    root   /app;
    index  index.html;
    try_files $uri $uri/ /index.html;
  }

  location = /50x.html {
    root   /usr/share/nginx/html;
  }
}