IP:端口映射到名称

时间:2011-08-19 10:44:09

标签: ruby-on-rails dns virtualhost webrick

我在运行WEBrick的rackspace服务器上部署了多个rails应用程序。它们中的每一个都在不同的TCP端口上运行。

我可以使用ptotem.com(我的域名)访问端口3000 我可以使用ptotem.com:3001ptotem.com:3002 ...访问其他应用,但我想使用appl_one.ptotem.comapp_two.ptotem.com访问它们。

我怎么能用DNS做到这一点?

2 个答案:

答案 0 :(得分:0)

您无法真正做到这一点,DNS命名机制和TCP / IP端口机制是两个独立的,不相关的实体,它们存在于OSI model的不同层上。如果您考虑appl_one.ptotem.com:3000appl_one.ptotem.com:3001appl_one.ptotem.com:3002仍然有效,并且可以让您访问不同的应用。

如果您的名称服务器和您的应用程序都支持它们,您可能可以使用SRV records,但对此的支持目前只是稀疏和极其充实。

您可以查看HTTP应用程序的另一件事是在同一端口上运行它们,并使用类似this的虚拟主机。

当我需要做这样的事情时,我通常将我的NIC设置为具有多个IP(或者如果他们不支持,则添加更多的NIC)并让我的应用程序绑定到特定的IP,但老实说,为了在连接字符串的末尾键入:port,你实际上需要来实现它是非常罕见的......

答案 1 :(得分:0)

在linux上,您需要在/ etc / hosts文件中添加一行。

用于本地主机,测试等。

  

127.0.0.1 appname.com

或私人网络

  

192.168.x.x appname.com

或公开

  

210.32.197.4 appname.com