Custom domain support for users with Node and Express

Posted July 30, 2018 3.6k views
Node.jsUbuntu 16.04

I want to offer support for custom domains for my users. I created a file in /etc/nginx/sites-avilable/ with a server block that routes everything to an Express app (running with PM2). I want to use Express to get the domain they are requesting from, cross reference that domain name, and show the appropriate user’s page. However, something like only gives me ‘localhost:3000’. How can I get the domain name of the request? Or is there a simpler way of doing this?

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.

Submit an Answer
1 answer

Hello friend!

I confess that I do not know off the top of my head the absolute correct path, but I wanted to weigh in because I might be able to help you move in the direction of finding it. It makes sense that you see that when using Nginx as a reverse proxy. If your app took the requests directly, acting as it’s own web server, that would resolve it. However, Nginx is going to be better optimized in most cases. So what you’re looking to do is forward the request URL as another variable to the app, and then have the app pull that variable. I believe that this will take you in the right direction:

Kind Regards,