我在运行WEBrick的rackspace服务器上部署了多个rails应用程序。它们中的每一个都在不同的TCP端口上运行。
我可以使用ptotem.com
(我的域名)访问端口3000
我可以使用ptotem.com:3001
,ptotem.com:3002
...访问其他应用,但我想使用appl_one.ptotem.com
,app_two.ptotem.com
访问它们。
我怎么能用DNS做到这一点?
答案 0 :(得分:0)
您无法真正做到这一点,DNS命名机制和TCP / IP端口机制是两个独立的,不相关的实体,它们存在于OSI model的不同层上。如果您考虑appl_one.ptotem.com:3000
,appl_one.ptotem.com:3001
和appl_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