Question

How to get a single Nodejs app to serve different content to different domain names?

What I am trying to do is get several domain names pointing to one Nodejs app (express & next) and have unique content be served back based on which domain name it has come from. I’ve seen a few tutorials that are massively out of date, and mostly everyone else recommends to use Nginx and a reverse proxy. But that seems to be for serving up wholly different node apps, instead of serving content to a singular app. Any pointers would be greatly appreciated. Cheers!


Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Accepted Answer

Hello,

Indeed the most straight forward way would be to just have multiple instances of the application and use Nginx server blocks for each domain name. That way you will be able o host multiple apps on one server. To do that you can follow the steps here:

https://www.digitalocean.com/community/tutorials/how-to-host-multiple-node-js-applications-on-a-single-vps-with-nginx-forever-and-crontab

If you prefer to have a multisite setup and have only 1 app, I think that you could try using the Express.js Extention vhost. Here’s an article that might help you:

https://medium.com/@Xourse/nodejs-app-with-multiple-domains-75939bee8efd

Regards, Bobby

Thanks Bobby!