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

  # Route all traffic to varnish
  location / {
    set $prerender 0;

    if ($http_user_agent ~* 'Googlebot|slackbot') {
      set $prerender 1;
    }

    if ($uri ~* "\.(js|css|xml|less|png|jpg|jpeg|webp|gif|pdf|doc|txt|ico|rss|zip|mp3|rar|exe|wmv|doc|avi|ppt|mpg|mpeg|tif|wav|mov|psd|ai|xls|mp4|m4a|swf|dat|dmg|iso|flv|m4v|torrent|ttf|woff|svg|eot)") {
      set $prerender 0;
    }

    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;

    if ($prerender = 1) {
      proxy_pass http://rendertron:8083/render/https://$host$request_uri;
    }

    if ($prerender = 0) {
      proxy_pass http://varnish:80;
    }
  }

  location /maildev {
    proxy_pass http://maildev:80/maildev;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
  }
}
