server {
    listen 8001 ssl http2;
    listen [::]:8001 ssl http2;

    access_log /var/log/nginx/pandora.access.log;
    error_log /var/log/nginx/pandora.error.log;

    location /favicon.ico {
        root /srv/pandora/static;
    }

    location /static/ {
        root /srv/pandora;
        autoindex off;
    }

    location /data/ {
        internal;
        root /srv/pandora;
    }

    location /api/ws/ {
        proxy_http_version 1.1;
        proxy_set_header Host $http_host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Proxy "";
        proxy_redirect off;
        proxy_buffering off;
        proxy_read_timeout 999999999;
        proxy_pass http://127.0.0.1:2622/;
    }

    location / {
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header Host $http_host;
        proxy_set_header Proxy "";
        proxy_redirect off;
        proxy_buffering off;
        proxy_read_timeout 90;
        proxy_connect_timeout 90;
        if (!-f $request_filename) {
            proxy_pass http://127.0.0.1:2620;
            break;
        }
        client_max_body_size 32m;
    }

    error_page 400 /;
    error_page 404 /404.html;
    location /404.html {
        root /srv/pandora/static/html;
    }

    error_page 500 502 503 504 /50x.html;
    location /50x.html {
        root /srv/pandora/static/html;
    }
}
