GitHub user akaladmin created a discussion: Issue embedding Apache Superset dashboards behind reverse proxy (public → private VLAN)
Hello everyone, I’m facing an issue embedding Apache Superset dashboards in a setup where Superset is hosted on a private server, and I’m hoping someone here may have encountered a similar architecture. Architecture overview: **Two servers on the same VLAN / subnet** - Web server: Publicly accessible NATed and exposed via a domain (e.g. dashboard.example.com) - Superset server: Private IP only (not NATed, not internet-facing) Accessible only within the VLAN What we are trying to achieve We want to embed Superset dashboards inside our public web portal. Initial problem When we tried embedding Superset directly, the browser blocked access because: The public website was trying to load Superset content from a private IP Mixed public → private access was blocked by the browser/security policies What we tried next (reverse proxy approach) We configured nginx on the public web server as a reverse proxy: Created a location like: /superset/ This proxy forwards traffic to the private Superset server IP This allowed the Superset UI to load partially. **Current issues** Static assets / CSS / JS issues (partially resolved) Initially, CSS and JS were broken because Superset was trying to load assets from its original base URL. We added additional nginx location blocks for static assets, which fixed the UI rendering. Embedding dashboards still not working Dashboard embedding results in: Too many redirects, or 404 errors on dashboard routes Behavior is inconsistent depending on the URL and embedding method. **Key challenges we suspect** Superset generating absolute URLs based on its internal base URL Redirects not respecting the /superset/ path prefix **Possible issues with:** SUPERSET_WEBSERVER_BASEURL ENABLE_PROXY_FIX X-Forwarded-* headers APPLICATION_ROOT or path-based reverse proxy support Authentication / session cookies not aligning across domains and paths **Question to the community** Has anyone successfully embedded a non-NATed (private) Superset instance into a public portal using nginx (or another reverse proxy)? Is Superset officially supported behind a path-based reverse proxy (e.g. /superset/)? Are there recommended configurations or workarounds for this kind of network setup? Any guidance, reference architectures, or configuration examples would be greatly appreciated. Thanks in advance 🙏 GitHub link: https://github.com/apache/superset/discussions/37376 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
