How to assign a domain name to node.js server?
You do not assign a domain to a node.js server, instead you load your app onto a machine which has an ip adress, which in your case is 42.12.251.830:4000
. You then need to make sure your app
is listening on the correct port, which on most servers is 80
using express it's as simple as
var app = express()
, server = require('http').createServer(app)
, io = io.listen(server);
app.get('/', function(req, res) {
res.sendfile('./public/index.html');
});
server.listen(80);
Getting a domain name to point to this ip address is an entirely separate matter. You need to make your name server point to the ip. Your name server will usually be the company you bought the domain name through, for instance GoDaddy is a Domain Name Server (DNS). So if you had a domain name with them, you would go on their site under DNS settings and change the ip adress. Your domain name will then point to your ip adress and should render your node.js app.
user2535056
Updated on July 09, 2022Comments
-
user2535056 almost 2 years
I have a node.js server listening to port 4000, the URL to access the service is something like this:
http://42.12.251.830:4000
I bought a domain name
www.mydomain.com
How can I assign it to my server? First I used forwarding, but then I could not use location.hash anymore to add a chat channel to the URL. Then I used something like Header-Redirect. Now the service is reachable under mydomain.com , but not under www.mydomain.com. Moreover the domain name is not shown in the browser window. For my chat channel I need something like this:
www.mydomain.com/#238husd4
-
David Small over 8 yearsOld question. But I believe there is more to it than this. Since port 80 requires higher privileges, this alone won't work. Having my app listen to port 80 just gives me an unavailable webpage error.
-
Loourr over 8 yearsyeah on a local machine that port is blocked. Try port 3000 or something higher. But on a production server you'll want to use 80 or 443.
-
Arjun Kava about 7 yearsbt how to block other domains which address to server ip address?
-
User over 6 yearsThe solution here addresses a solution for 1 app per IP address. However, some servers host multiple apps on a single server using a single IP address. You can't put them all on port 80.
-
Daan about 6 yearsGreat answer. But I would suggest against GoDaddy.