Reverse proxy
I have found that reverse proxy only works if it is proxied to the root of the domain, i.e. http://localhost:5000/ -> https://my.domain.com/
Normally, reverse proxing is deployed so that a number of web apps can sit happily alongside one another. For example, imagine a NAS being used as a backup appliance. The root of the domain would normally be a root menu, with links to a number of difference configuration functions, one of which would be the Burp UI. So you might want, for example: http://localhost:5000/ -> https://my.domain.com/burp/
This almost works with this Apache snippet:
ProxyPass /burp/ http://localhost:5000/ ProxyPassReverse /burp/ http://localhost:5000/ ProxyHTMLURLMap http://localhost:5000/ /burp ProxyHTMLExtended On #ProxyHTMLLogVerbose On <Location /burp/> SetOutputFilter proxy-html ProxyPassReverse / ProxyHTMLURLMap / /burp/ c ProxyHTMLURLMap /api /burp/api ProxyHTMLURLMap /client? /burp/client? ProxyHTMLURLMap /client- /burp/client- RequestHeader unset Accept-Encoding Require all granted </Location>
There are 2 places where this fails to map, and this is because the URLs (links) are generated dynamically by JavaScript, and hence don't get filtered by Apache:
- On the calendar: the links for clicking on the calendar entries
- On the About page: the documentation link
I believe the most friendly solution would be to use relative, rather than absolute links. But there may be others.