【问题标题】:Subdomains. How do you do development with subdomains?子域。您如何使用子域进行开发?
【发布时间】:2012-04-10 06:23:53
【问题描述】:

我目前正在构建一个也使用 websockets 的网络应用程序。 (用于 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?

【问题讨论】:

    标签: ip subdomain cname hosts


    【解决方案1】:

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

    • 如果您的想法只是使用 IP 地址,您可能会在测试中遗漏一些除非您在生产环境中才能看到的内容,因为该问题可能取决于域配置中的某些内容。

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

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

    如果您有 IT 部门,他们可以帮助您设置 DNS。但是,如果您是一个没有真正 IT 部门的小团队,一些用户使用DNS systems designed for home or small office networks 获得了成功。

    【讨论】:

    • 我目前是在客厅工作的两人团队。你有什么更快更容易推荐的吗?
    • 您可能希望在SuperuserProgrammers SE搜索。您更有可能在那里找到更有针对性的结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 2012-01-16
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-15
    相关资源
    最近更新 更多