我有一堆域指向一个IP地址(我觉得这将是阻止它工作的主要因素),其中一个我想指向端口80上的node.js服务器而不是不得不在Apache中使用代理。
我已经在apache中删除了*:80的虚拟主机(每次重新启动它时都会警告我。)
当我要求节点收听domain.one:80时(只是一个例子,不是我真正使用的),它不起作用 - 它告诉我地址正在使用中,即使没有VirtualHost for domain.one:80。
我怀疑这与domain.one和domain.two都指向同一个IP这一事实有关,对吧?如果没有,我该怎么办?谢谢:))
答案 0 :(得分:2)
端口直接绑定到IP地址。每个IP地址只能有一个进程侦听给定端口。由于您的域名都解析为相同的IP地址,因此对于每个侦听端口80的域名,您都无法拥有单独的节点进程。
如果您希望保留此方案,则需要让每个节点服务器侦听不同的端口,并按照here所述在Apache中配置反向代理。您也可以考虑使用nginx,因为它也具有此功能(配置略有不同)。
答案 1 :(得分:0)
是。您可以在vhost中指定服务器名称。然后,您只能在标记中指定IP或*。创建一个*:80 Vhost并添加
<VirtualHost *:80>
ServerName domain.one
DocumentRoot /blah/blah
....
</VirtualHost>
到它。这将按域名过滤。