主机名到本地主机及端口 - OSX

主机名到本地主机及端口 - OSX

Node.js我正在尝试在我的计算机上本地运行多个Web 服务器。

因为我正在编写的代码需要引用域名,所以我想保留一个约定dev.myHost.com并将其指向从 Node 运行的非端口 80 服务(技术上我在Harp.js 上运行一个,在 上运行一个Sails.js)。

  • 所以dev.hostOne.com应该指出localhost:123
  • dev.hostTwo.com应该指向localhost:456

这可能吗?如果可以,怎么做?

答案1

据我了解,您似乎只使用一台本地开发机器,意味着没有连接到任何提供 DNS 的网络。

如果我是对的,我建议设置如下所述:

步骤1 :为您的 MAC OS 分配至少两个 IP 地址(每个域一个),例如:

192.168.0.10
192.168.0.11

要设置第二个 IP,您必须添加第二个以太网适配器(逻辑的而不是物理的)。

第2步 :由于您没有 DNS 服务器,您可以/etc/hosts通过添加以下内容来设置您的文件:

192.168.0.10     dev.hostone.com
192.168.0.11     dev.hosttwo.com

步骤3:为您的环回接口分配别名:

sudo ifconfig lo0 192.168.0.10 alias
sudo ifconfig lo0 192.168.0.11 alias

步骤4 :设置ipfw转发数据包:

sudo ipfw add fwd 127.0.0.1,123 tcp from me to 192.168.0.10 dst-port 80
sudo ipfw add fwd 127.0.0.1,456 tcp from me to 192.168.0.11 dst-port 80

你完成了!

现在 :

在此处输入图片描述 在此处输入图片描述


我已经设置了两个Node.js网络服务器来测试你的情况:

$ netstat -anp tcp | grep -E "123|456"
tcp4    0    0  127.0.0.1:123    *.*    LISTEN
tcp4    0    0  127.0.0.1:456    *.*    LISTEN

重要的 :请注意,ipfw规则和环回接口别名不是持久的,重启后将不再存在。因此请考虑添加启动脚本。

相关内容