Skip to content

Examples

Sites Available Example

This configuration supports HTTP upstream services including WebSockets for Grafana and Flamenco.

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

server {
    listen 80;
    server_name cluster.home grafana.cluster.home prometheus.cluster.home loki.cluster.home;
    client_max_body_size 0;
    resolver 127.0.0.1;

    error_page 404 403 500 503 /error-page.html;
    location = /error-page.html {
        internal;
    }

    location / {
        rewrite ^/$ mkdocs/site/ redirect;
    } 

    location /prometheus {
        proxy_pass http://prometheus.cluster.home/prometheus;
    }

    location /loki {
        proxy_pass http://loki.cluster.home;
    }

    location /grafana/ {
        rewrite  ^/grafana/(.*)  /$1 break;
        proxy_set_header Host $http_host;
        proxy_pass http://grafana.cluster.home;
    }

    # Proxy Grafana Live WebSocket connections.
    location /grafana/api/live/ {
        rewrite  ^/grafana/(.*)  /$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://grafana.cluster.home;
    }    

#    # Proxy Minio  WebSocket connections.
#    location /ws/objectManager/ {
#        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://storage.cluster.home;
#    }  
}

# Minio Operator Service
server {
    server_name minio.cluster.home;
    client_max_body_size 0;
    resolver 127.0.0.1;    

    location / {
        proxy_pass http://minio.cluster.home/;
    }

}

# Ceph Operator Service
server {
    server_name ceph.cluster.home;
    client_max_body_size 0;
    resolver 127.0.0.1;    

    location /dashboard {
        proxy_pass https://ceph.cluster.home/dashboard;
    }

}

## Minio Tenant for Monitoring Bucket
#server {
#    server_name monitoring.cluster.home;
#    client_max_body_size 0;
#    resolver 127.0.0.1;#

#   location / {
#        proxy_pass http://monitoring.cluster.home;#

#        proxy_http_version 1.1;
#        proxy_set_header Upgrade $http_upgrade;
#        proxy_set_header Connection "Upgrade";
#        proxy_set_header Host $host;
#        proxy_set_header X-Real-IP $remote_addr;
#        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#        proxy_set_header X-Forwarded-Proto $scheme;#

#        # This allows WebSocket connections
#        proxy_set_header Upgrade $http_upgrade;
#        proxy_set_header Connection "upgrade";
#   }
#}

# Minio Tenant for Argo-Workflows Bucket
server {
    server_name storage.cluster.home;
    client_max_body_size 0;
    resolver 127.0.0.1;

   location / {
        proxy_pass http://storage.cluster.home;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # This allows WebSocket connections
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
   }
}



server {
    listen 80;
    server_name flamenco.cluster.home;
    client_max_body_size 0;
    resolver 127.0.0.1;

    error_page 404 403 500 503 /error-page.html;
    location = /error-page.html {
        internal;
    }

    # Flamenco - Doesn't support URI prefix so going to place it at the root.
    location / {     
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $host;

      proxy_pass http://flamenco.cluster.home/;
      proxy_http_version 1.1;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection $connection_upgrade;
    }

}


# Argo Workflows
server {
    server_name argo.cluster.home;
    client_max_body_size 0;
    resolver 127.0.0.1;
    proxy_buffering off;

    location / {
        proxy_pass http://argo.cluster.home;
        proxy_pass_header content-security-policy;
    }

}

(auto-generated file)