2

我目前正在构建一个也使用 websockets 的 web 应用程序。(用于 webserver 的 Rails 和用于 socket.io 的 Nodejs)

我已经构建了我的应用程序以使用子域来分隔与 Nodejs 服务器和 Rails 网络服务器的连接。我将“socket.mysite.com”重定向到节点服务器,其他所有内容都重定向到网络服务器。

我能够在 localhost 上测试此功能。我只是修改了我的 /etc/hosts 以包含以下内容:

127.0.0.1 socket.mysite.com
127.0.0.1 mysite.com

我知道在生产中我只需要为 socket.mysite.com 生成一个 CNAME 记录,这也适用于我用户的计算机。

但是,我习惯于通过传递 IP 地址来测试我的应用程序。我的团队通常在我们自己的机器上设置服务器并进行开发。当我们想测试我们的单个服务器时,我们只需传递一个 IP,如“http://123.45.123.45”。

使用新的子域 hack,如果不修改我的每个测试人员的 /etc/hosts,这将不再可能。老实说,我不希望我的测试人员当场修改他们的 /etc/hosts。我能做的是让我的团队的每个成员都有自己的域,并为每个团队成员创建适当的 CNAME 记录。

有没有更简单的方法可以让我在 IP 上运行我的应用程序并传递该 IP?

4

1 回答 1

0

听起来您的需求已经超出了仅编辑主机文件的日子。虽然您可以继续让团队中的每个人继续编辑主机文件,但我在这里看到了两个主要风险:

  • 对于您仅使用 IP 地址的想法,您可能会在测试中丢失一些除非您在生产环境中才能看到的内容,因为问题可能取决于域配置中的某些内容。

  • 对于使用主机条目,您会为每个开发人员和测试人员的配置引入大量复杂性和不必要的更改,这当然会为错误敞开大门,而且从长远来看,这也需要时间加起来。

在您的情况下,设置 DNS 服务器可能会有所帮助。您可以为每个开发人员映射一组与特定模式匹配的域,以便您的应用程序仍能正确运行。这将允许您共享 URL,而不必不断地重新配置每个人的计算机。此外,营销和销售利益相关者也可以轻松查看产品演示,而无需了解难以捉摸的主机文件的用途。

如果您有 IT 部门,他们可以帮助您设置 DNS。但是,如果您是一个没有真正的 IT 部门的小团队,一些用户已经使用专为家庭或小型办公室网络设计的 DNS 系统取得了成功。

于 2012-04-10T06:34:07.183 回答