【问题标题】:What are the best practice for domain names (dev, staging, production)?域名(开发、登台、生产)的最佳实践是什么?
【发布时间】:2016-09-05 18:43:36
【问题描述】:

随着容器、Kuberenetes、12 Factor 等的兴起,跨开发、登台和生产复制相同的环境变得更加容易。但是,域名约定似乎没有通用标准。

据我所知,有两种方法:

  • 使用子域:
    • *.dev.foobar.tld
    • *.staging.foobar.tld
    • *.foobar.tld
  • 使用单独的域:
    • *.foobar-dev.tld
    • *.foobar-staging.tld
    • *.foobar.tld

我可以看到这两种方法的起伏,但我很好奇常见的做法是什么。

附带说明,Cloudflare 不会为您颁发子子域的证书(例如 *.stage.foobar.tld)。

【问题讨论】:

  • 你也可以使用.test domain(除了example.com)。它是为此目的而保留的。 *.loc*.dev*.tld(和朋友)不保留,不能被开发者劫持。
  • .corp 也是合适的。几年前它几乎是一个可注册的 TLD,直到大多数企业以您描述的方式使用 .corp 的事实引起了巨大轰动——这将破坏所有这些环境。

标签: ssl kubernetes cloudflare paas deis


【解决方案1】:

计算机科学中只有两个难点:缓存失效 并命名事物。

-- 菲尔·卡尔顿

取决于公司规模。

小型企业通常会使用破折号并获得通配符证书。 所以他们会有dev.example.com, test.example.com

在大型企业中,他们通常会部署 DNS 基础架构,并且配置流程会负责分配。它通常看起来像

aws-eu-central-1.appName.staging.[teamName].example.com

他们要么在所有服务器上使用自己与 CA 的自签名证书,要么有钱购买 SAN。

更多灵感:

https://blog.serverdensity.com/server-naming-conventions-and-best-practices/

https://mnx.io/blog/a-proper-server-naming-scheme/

https://namingschemes.com/

【讨论】:

  • 这句话让我很开心!
  • 在有letsencrypt.org 的世界中,分配证书非常容易。如果您是一个网络应用程序,那么您需要对 cookie 的可见性和测试进行长期而认真的思考。在我看来,巧妙地使用内部 DNS 并不是一个好主意,因为它会使 SAAS 测试工具更难利用。
  • @andrew IDD,但是很多企业都有荒谬的政策阻止使用 Let's Encrypt,而是坚持使用单一的商业 CA
  • @Cocowalla AWS ACM 不是免费的,但它非常便宜并且可以检查所有企业的盒子。我想我会在我的位置上加倍下注。通配符证书具有巨大的爆炸半径,应该像瘟疫一样避免使用。在 prod 和其他所有内容之间共享相同的 dns root 是自找麻烦。
  • @Andrew 我并不是在争论支持通配符证书;我的观点很简单,Let's Encrypt 使证书分配变得容易,尤其是在购买任何东西的过程是一场噩梦的大型组织中
【解决方案2】:

关于顶级域的简要说明,许多公司还使用“.local”后缀进行内部名称解析。

【讨论】:

    【解决方案3】:

    我们在环境中使用以下 dns 名称

    1. *.dev.internal.com(开发)
    2. *.tst.internal.com(测试)
    3. *.stg.internel.com(暂存)
    4. *.internel.com(产品)。你也可以使用 *.prd.internal.com

    【讨论】:

      【解决方案4】:

      这还取决于您是否希望 dev/test/staging 在外部可用,如果没有,您可以这样设置: app_name.example.dev、app_name.example.test 等

      【讨论】:

      • 然后您只需确保您的 hosts 文件在您的本地计算机上更新?
      • @JoshuaPinter 是的。
      • 您可以使用.test domain(除了example.com)。它是为此目的而保留的。 *.loc*.dev*.tld(和朋友)不保留,不能被开发者劫持。
      猜你喜欢
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 2018-05-28
      • 1970-01-01
      • 2019-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多