50

With the rise of containers, Kuberenetes, 12 Factor etc, it has become easier to replicate an identical environment across dev, staging and production. However, what there appears to be no common standard to domain name conventions.

As far as I can see it, there are two ways of doing it:

  • Use subdomains:
    • *.dev.foobar.tld
    • *.staging.foobar.tld
    • *.foobar.tld
  • Use separate domains:
    • *.foobar-dev.tld
    • *.foobar-staging.tld
    • *.foobar.tld

I can see up and downs with both approaches, but I'm curious what the common practise is.

As a side-note, Cloudflare will not issue you certificates for sub-sub domains (e.g. *.stage.foobar.tld).

4

4 回答 4

51

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

——菲尔·卡尔顿

视公司规模而定。

小型企业通常会使用破折号并获得通配符证书。所以他们会有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/

于 2016-09-05T19:14:26.850 回答
2

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

于 2019-02-18T16:46:40.143 回答
2

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

  1. *.dev.internal.com(开发)
  2. *.tst.internal.com(测试)
  3. *.stg.internel.com(暂存)
  4. *.internel.com(产品)。你也可以像 *.prd.internal.com 这样使用
于 2019-03-17T15:56:08.887 回答
1

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

于 2016-09-05T19:21:04.753 回答