如何为 node.js 服务器分配域名? [复制]

Posted

技术标签:

【中文标题】如何为 node.js 服务器分配域名? [复制]【英文标题】:How to assign a domain name to node.js server? [duplicate] 【发布时间】:2013-07-05 04:55:39 【问题描述】:

我有一个 node.js 服务器监听 4000 端口,访问服务的 URL 是这样的:

http://42.12.251.830:4000

我买了一个域名

www.mydomain.com

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

www.mydomain.com/#238husd4

【问题讨论】:

见:***.com/questions/5009324/node-js-nginx-and-now 【参考方案1】:

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

使用express 就这么简单

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);

现在让一个域名指向这个 IP 地址是完全不同的事情。您需要使您的name server 指向该IP。您的名称服务器通常是您购买域名的公司,例如GoDaddy 是域名服务器 (DNS)。因此,如果您有他们的域名,您将在 DNS 设置下访问他们的站点并更改 IP 地址。然后,您的域名将指向您的 IP 地址,并应呈现您的 node.js 应用程序。

【讨论】:

老问题。但我相信还有比这更多的东西。由于端口 80 需要更高的权限,因此仅此一项是行不通的。让我的应用程序监听端口 80 只会给我一个不可用的网页错误。 是的,在本地计算机上该端口被阻止。尝试端口 3000 或更高的端口。但在生产服务器上,您需要使用 80 或 443。 bt如何阻止其他域的地址到服务器ip地址? 这里的解决方案解决了每个 IP 地址 1 个应用程序的解决方案。但是,某些服务器使用单个 IP 地址在单个服务器上托管多个应用程序。你不能把它们都放在 80 端口上。 很好的答案。但我建议反对 GoDaddy。

以上是关于如何为 node.js 服务器分配域名? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

c#中的音量控制。如何为卷分配值? [复制]

如何为 Node.js 编写异步函数

如何为特定版本的 node.js 安装 d.ts?

如何为 Node.js 的 require 函数添加钩子?

如何为 Node JS 设置 REST API

如何为特定令牌、颤振、firebase 消息传递和 node.js 发送通知