62 lines
2.1 KiB
Plaintext
62 lines
2.1 KiB
Plaintext
server {
|
|
listen 80;
|
|
server_name localhost;
|
|
|
|
# Handle API endpoints directly - no rewrite needed
|
|
location /superset/api/ {
|
|
proxy_pass http://superset:8088/api/;
|
|
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;
|
|
proxy_set_header Accept-Encoding "";
|
|
proxy_read_timeout 300s;
|
|
proxy_connect_timeout 300s;
|
|
proxy_send_timeout 300s;
|
|
}
|
|
|
|
# Strip /superset/ prefix, proxy to Superset at root
|
|
location /superset/ {
|
|
proxy_pass http://superset:8088/;
|
|
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;
|
|
proxy_set_header Accept-Encoding "";
|
|
proxy_read_timeout 300s;
|
|
proxy_connect_timeout 300s;
|
|
proxy_send_timeout 300s;
|
|
|
|
# Rewrite redirect Location headers to add /superset prefix
|
|
proxy_redirect ~^(https?://[^/]+)?/(.*)$ $1/superset/$2;
|
|
|
|
# Rewrite URLs in HTML responses
|
|
sub_filter_once off;
|
|
sub_filter_types text/html application/json;
|
|
sub_filter 'href="/' 'href="/superset/';
|
|
sub_filter 'src="/' 'src="/superset/';
|
|
sub_filter 'action="/' 'action="/superset/';
|
|
sub_filter '"/static/' '"/superset/static/';
|
|
sub_filter '"/api/' '"/superset/api/';
|
|
sub_filter '"/superset/superset/' '"/superset/superset/';
|
|
sub_filter '"/login/' '"/superset/login/';
|
|
sub_filter '"/logout/' '"/superset/logout/';
|
|
sub_filter '"/lang/' '"/superset/lang/';
|
|
}
|
|
|
|
location = /superset {
|
|
return 301 /superset/;
|
|
}
|
|
|
|
# Health check for Docker
|
|
location = /health {
|
|
proxy_pass http://superset:8088/health;
|
|
}
|
|
}
|