如何为 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 服务器分配域名? [复制]的主要内容,如果未能解决你的问题,请参考以下文章