0

我有一堆域指向一个 IP 地址(我觉得这将是阻止它工作的主要因素),其中一个我想指向端口 80 上的 node.js 服务器,而不必费心关于 Apache 中的代理。

我已经在 apache 中删除了 *:80 的虚拟主机(每次我重新启动它时都会警告我)。

当我要求节点收听 domain.one:80 时(只是一个例子,不是我真正使用的),它不起作用 - 它告诉我地址​​正在使用中,即使 domain.one 没有 VirtualHost :80。

我怀疑这与 domain.one 和 domain.two 都指向同一个 IP 的事实有关,对吧?如果没有,我该怎么办?谢谢 :)

4

2 回答 2

2

端口直接绑定到 IP 地址。每个 IP 地址只能有一个进程监听给定端口。由于您的域名都解析为相同的 IP 地址,因此您不能为每个侦听端口 80 的节点设置单独的节点进程。

如果您希望保留此方案,则需要让每个节点服务器侦听不同的端口并在 Apache 中配置反向代理,如此处所述。您也可以考虑使用nginx,因为它也具有此功能(配置略有不同)。

于 2012-05-16T05:56:11.630 回答
0

是的。您可以在虚拟主机中指定服务器名称。那么你只能在标签中指定一个 IP 或 *。创建一个 *:80 Vhost 并添加

<VirtualHost *:80>

     ServerName domain.one
     DocumentRoot /blah/blah
     ....
 </VirtualHost>

给它。这将按域名过滤。

于 2012-05-15T20:46:09.930 回答