Here is the steps to access Ambari UI through Knox. This is tried and tested with Ambari 2.4 and HDP2.5
1. Make sure Knox is configured properly and it works fine.
2. ssh to Knox gateway host and go to /var/lib/knox/data-184.108.40.206-37/services
3. download the configurations from https://github.com/apache/knox/tree/v0.11.0/gateway-service-definitions/src/main/resources/services/... URL.
4. make sure your folder structure should look alike /var/lib/knox/data-220.127.116.11-37/services/ambariui/2.2.0 and should have rewrite.xml and service.xml files
5. change the owner/Group permissions to Knox for /var/lib/knox/data-18.104.22.168-37/services/ambariui/ and subdirectory
6. Go to Knox configurations Modify "Advanced topology" with below service tag
7. Restart Knox service.
8. You should be able to access Ambari-server UI from the below URL
Note: replace default with your correct 'identity-assertion'
Maybe it's clearer to call it cluster-name instead of "identity-assertion"
Adding below configs at advanced-topology(ambari ui --> knox --> configs ) will work.
<role>AMBARIUI</role> <url>http://bakumar-bkumar-dlm.openstacklocal:8080</url> </service> <service>
And then restart the knox service from UI.
Then access the Knox gateway to access ambari ui through gateway.
Thank you for your help