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

September 30, 2019 434 views
Node.js

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!

2 Answers

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

by Christian Fei
This is our tutorial on hosting multiple Node.js apps on a single VPS with nginx, forever, and crontab.
Have another answer? Share your knowledge.

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