我目前正在构建一个也使用websockets的网络应用程序。 (用于webserver的Rails和用于socket.io的Nodejs)
我已经构建了我的应用程序,使用子域来分隔与Nodejs服务器和Rails web服务器的连接。我将“socket.mysite.com”重定向到节点服务器以及Web服务器的其他所有内容。
我可以在localhost上测试此功能。我只是修改了我的/ etc / hosts以包含以下内容:
127.0.0.1 socket.mysite.com
127.0.0.1 mysite.com
我知道在制作时我只需要为socket.mysite.com生成CNAME记录,这也适用于我的用户的计算机。
但是,我习惯于通过传递IP地址来测试我的应用程序。我的团队通常在我们自己的机器上设置服务器并进行开发。当我们想要测试我们的个人服务器时,我们只需传递一个类似“http://123.45.123.45”的IP。
使用新的子域黑客攻击,如果不修改我的每个测试人员的/ etc / hosts,就不再可能。老实说,我不希望我的测试人员当场修改他们的/ etc / hosts。我能做的是让我的团队的每个成员都拥有自己的域,并为每个团队成员创建适当的CNAME记录。
是否有更简单的方法允许我在IP上运行我的应用程序并只传递该IP?
答案 0 :(得分:0)
听起来您的需求已超出仅仅编辑主机文件的时间。虽然您可以继续让团队中的每个人继续编辑主机文件,但我在此处看到了两个主要风险:
对于您只想使用IP地址的想法,除非您正在制作,否则您可能会在测试中丢失一些您不会看到的内容,因为问题可能取决于域配置中的某些内容。
对于使用主机条目,您会为每个开发人员和测试人员的配置引入许多复杂性和不必要的更改,这当然会为错误敞开大门,并且还需要时间来累积长时间术语
在您的情况下,设置DNS服务器可能会有所帮助。您可以为每个与特定模式匹配的开发人员映射一组域,以便您的应用程序仍可正常运行。这将允许您共享URL,而无需不断地重新配置每个人的计算机。此外,营销和销售利益相关者也可以轻松查看产品演示,而无需了解难以捉摸的主机文件的用途。
如果您有IT部门,他们可以帮助您设置DNS。但是,如果您是一个没有真正IT部门的小团队,一些用户已经使用DNS systems designed for home or small office networks找到了成功。