Hi all, thanks to prompting from a user-raised issue and a day off work, I've put together a new feature that should go live in the next release very soon (v3.3.0).
If you want to try it out for yourself, please install this development version manually:
npm install totallyinformation/node-red-contrib-uibuilder#express
It should be stable.
By setting a port number in settings.js, uibuilder will fire up its own webserver (using https if Node-RED does, with the same certificate and key) and will listen on the specified port.
The main use for this is if you want to expose a uibuilder front-end to the Internet via a reverse proxy such as NGINX but do not want to expose the rest of Node-RED.
Future enhancements will extend the usefulness by allowing you to specify more options for the server, even different certificates and keys, caching, custom headers, etc. I may even add http/2 support since Node.js has a core library for it.
Note that if you set a port number, all uibuilder instances will use the new webserver.