SHS supports Knox gateway by setting spark.ui.proxyBase to the proper value. The main problem with this approach is that when spark.ui.proxyBase is set, SHS is not accessible anymore through direct access.
Since Knox provides in the header X-Forwarded-Context the base URL to use (there is a patch available in
KNOX-1295), we can leverage it in order to dynamically retrieve the right proxy base, instead of relying on a fixed config. In this way, both access via Knox proxy and via direct URL can work properly.