Custom domain support for users with Node and Express

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?

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.

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, Jarland