upstream <: $vhost_name :> {
    server unix:<: $load_balancer_sock :>;

    keepalive 180; # TODO set from variable
}


server {
    listen                    *:80;
    listen                    [::]:80;
: for $server_name -> $name {
    server_name               <: $name | raw :>;
: }

    # error_log                 /var/local/nginx/data/<: $vhost_name :>-nginx-error.log info;
    # access_log                /var/local/nginx/data/<: $vhost_name :>-nginx-access.log default;

    keepalive_timeout         70;
    client_max_body_size      10M;

    location @backend {
        proxy_pass http://<: $vhost_name :>;

        proxy_read_timeout 60s;

        proxy_set_header Host $host;
        proxy_set_header X-Accel-Support 1;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        # keepalive & websocket
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
    }

    location / {
        error_page 418 = @backend;
        return 418;
    }
}