Umbrella Elixir app with multiple endpoints

If you are planning on running the child applications all in the same VM, you could also create a new child application that starts a bare-bones endpoint which does the routing to the appropriate endpoint. The big caveat with this approach is the endpoint socket declarations are intercepted in a special case which won’t work if forwarding from another plug upstream, so to support this approach you’d need to specify the socket declarations of all the other children in the child proxy app. If that is a non-starter then a proxy app in another VM which does the reverse proxy, or Nginx is the way to go as Kurt mentioned.

2 Likes