如何为node.js服务器分配域名?

use*_*056 39 javascript dns url node.js

我有一个node.ja服务器列表到端口4000,访问该服务的URL是这样的:

http://42.12.251.830:4000
Run Code Online (Sandbox Code Playgroud)

我买了一个域名

www.mychat.com
Run Code Online (Sandbox Code Playgroud)

如何将其分配给我的服务器?首先我使用转发,但后来我再也无法使用location.hash向网址添加聊天频道.然后我使用了像Header-Redirect这样的东西.现在可以通过mychat.com访问该服务,但不能访问www.mychat.com.此外,域名不会显示在浏览器窗口中.对于我的聊天频道,我需要这样的话:

www.mychat.com/#238husd4
Run Code Online (Sandbox Code Playgroud)

Loo*_*urr 31

您没有将域分配给node.js服务器,而是将您的应用程序加载到具有ip地址的计算机上,在您的情况下42.12.251.830:4000.然后,您需要确保app正在侦听大多数服务器上正确的端口80

使用表达就像它一样简单

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);
Run Code Online (Sandbox Code Playgroud)

现在获得一个域名指向这个IP地址是一个完全独立的事情.你需要让你的名字服务器指向ip.您的名称服务器通常是您通过域名购买的公司,例如GoDaddy是域名服务器(DNS).因此,如果您有一个域名,您可以在DNS设置下访问他们的网站并更改IP地址.然后,您的域名将指向您的IP地址,并应呈现您的node.js应用.

  • 老问题.但我相信它还有更多.由于端口80需要更高的权限,因此仅此一项不起作用.让我的应用程序听端口80只是给我一个不可用的网页错误. (4认同)
  • 此解决方案解决了每个IP地址1个应用程序的解决方案.但是,某些服务器使用单个IP地址在单个服务器上托管多个应用程序.你不能把它们都放在80端口上. (3认同)
  • 很好的答案。但我建议反对 GoDaddy。 (3认同)
  • 是的,在端口被阻塞的本地机器上。尝试端口 3000 或更高的端口。但是在生产服务器上,您需要使用 80 或 443。 (2认同)
  • bt如何阻止其他域名到服务器IP地址? (2认同)