将我的域指向我的node.js实例

时间:2011-04-22 16:34:25

标签: node.js dns cpanel whm

我拥有一台运行whm / cpanel的服务器,我最近一直在尝试使用node.js.我有一个小节点测试服务器正在运行,我想指向一个域。到目前为止,我一直在使用whm来创建帐户并处理域名,但这是一个不同的场景,当我有多个其他域指向其他域时,我对如何使域指向我的服务器上的某些内容知之甚少。我的服务器上同时有不同的东西。

由于

3 个答案:

答案 0 :(得分:1)

好的,我从未尝试过这个,但你可以在.htaccess文件中使用重写规则并重写所有内容以转到端口8000,你的node.js服务器在那里运行。

首先,设置node.js服务器以侦听端口8000。

然后,在cpanel中正常创建您的域,并在doc root中添加一个带有此重写的.htaccess文件:

RewriteRule ^ "\ http: \ / \ / 127.0.0.1 \:% (8000) REQUEST_URI" [P, QSA, L]

这应该只是将内部的所有内容转发到端口8000,其中node.js将负责处理它。但我不知道持久连接/ websockets如何与此策略一起使用。在这些情况下,通过直接访问服务器上的端口8000来跳过apache可能会更好。

来源:http://es.w3support.net/index.php?db=sf&id=59994

答案 1 :(得分:0)

这有点棘手,因为cpanel将使用apache来配置域,而apache已经毫无疑问地占用了端口80,因此你无法在apache和node.js之间共享端口80。您将无法通过cpanel配置此功能。

您可以将域指向您的服务器,并让节点侦听另一个端口,例如8000。

然后转到http://mydomain.com:8000/

因此apache / cpanel处理对端口80和443的请求,节点处理对端口8000的请求。

很可能在一个盒子上运行多个Web服务器,但它们每个都需要自己的端口

答案 2 :(得分:0)

我设法这样做了:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTPS} !=on
  RewriteCond %{SERVER_PORT} !^3000$
  RewriteRule ^ http://%{HTTP_HOST}:3000%{REQUEST_URI} [P,QSA,L]
</IfModule>

其他任何事情对我都不起作用:(

在这里,我检查端口是否不是3000,如果协议不是https,那么我将域指向端口3000(您可以将您使用的端口与node.js放在一起),您可以删除RewriteCond %{HTTPS} !=on in如果你不在乎检查协议。

我在本地做一些R&amp; D但是在制作中我相信我会使用nginx +节点而不是apache。