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)