Is there a way to serve multiple domains from a phoenix application? For example, I’ve two customers, A and B, and I want to have A served from www.foo.com and B from www.bar.com
I haven’t found anything related to that in Phoenix’s docs. Is there a way to achieve this from Phoenix, since I’m hosting my app on Heroku?
You should be able to add multiple domains easily in Heroku. We’re using multiple domains with Phoenix and Heroku without any issues. Have you tried this yet? Have you run into any errors?
You mention two customers, if you need to switch logic on that, the host is on the conn struct available via plug.
Also, I don’t know about doing this with Heroku, but in one of the applications I work on we have different urls pointing at different Phoenix endpoints.
An important caveat here is that the hostname configuration option cannot be set, so Phoenix needs some extra help to figure out the correct host for URL-helpers, I think. There probably is a way to solve this, but it does not immediately occur to me how .
Thanks for posting the solution. I was just looking for the exact same thing. If I understand correctly setting host to nil on the endpoint will dynamically use the host of the current request. (at least that is what is implied when reading the :force_ssl option in docs).