map $http_upgrade $connection_upgrade {
  default upgrade;
  '' close;
}

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name ${server_name};
  
  ssl_certificate /var/lib/dehydrated/certs/${server_name}/fullchain.pem;
  ssl_certificate_key /var/lib/dehydrated/certs/${server_name}/privkey.pem;

  location / {
    proxy_set_header Host $http_host;
    proxy_pass http://127.0.0.1:8300/;
  }

  # Proxy Grafana Live WebSocket connections.
  location /api/live {
    rewrite  ^/(.*)  /$1 break;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_set_header Host $http_host;
    proxy_pass http://127.0.0.1:8300/;
  }
}