屏蔽/将子域名指向不同的服务器,并在地址中保留相同的 URL

屏蔽/将子域名指向不同的服务器,并在地址中保留相同的 URL

最初发布于 Stack Overflow。

这可能是 Server Exchange 的问题,但我开始觉得这里很舒服,我觉得这里肯定有人知道答案。我们目前正在 Rails 中重建一个 php 站点,并将正在重建的新站点放在 linode 盒 [nginx] 上。实时域位于一个 Slicehost 盒 [也是 niginx] 上。启动后,我们计划将整个站点转发到 linode 盒,但希望设置一个子域 (beta.domain.com) 以进行测试。我知道我们可以做一个简单的转发/CNAME 记录,但我们希望保留相同的 beta.domain.com 地址。

非常感谢任何帮助。

注意:我们目前对这两个域拥有完全的控制权。

答案1

在重读了你的问题几次之后,我不确定我是否明白你在问什么,但听起来你想这样做:

预发布:

  • beta.domain.com 解析为 linode box
  • www.domain.com 解析为slicehost

发布后

  • beta.domain.com 仍然解析为 linode box
  • www.domain.com 现在解析为 linode box

确保您匹配 lighttpd 配置中列出的 *.domain.com 上的通配符$HTTP["host"] =~ "(^|\.)domain\.com$",然后在准备开始时将 beta.domain.com 的 A 记录更改为您的 linode 框。

答案2

您可以在同一级别的子域和通配符域中拥有 A/CN 条目。明确声明的 sudbomain (beta.domain.com.) 将被视为优先处理。

我有这样的:

mail.2x.to.     86400   IN  CNAME   ghs.google.com.
*.2x.to. 86400 IN   A   62.75.210.44

结果是

    joe@joe-laptop:~/Desktop/Crawler$ dig mail.2x.to

; <<>> DiG 9.7.0-P1 <<>> mail.2x.to
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14874
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;mail.2x.to.            IN  A

;; ANSWER SECTION:
mail.2x.to.     86400   IN  CNAME   ghs.google.com.
ghs.google.com.     86399   IN  CNAME   ghs.l.google.com.
ghs.l.google.com.   299 IN  A   74.125.43.121

;; Query time: 122 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Sep 15 16:37:47 2010
;; MSG SIZE  rcvd: 92

joe@joe-laptop:~/Desktop/Crawler$ dig catched-by-wildcard.2x.to

; <<>> DiG 9.7.0-P1 <<>> catched-by-wildcard.2x.to
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18119
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;catched-by-wildcard.2x.to. IN  A

;; ANSWER SECTION:
catched-by-wildcard.2x.to. 86400 IN A   62.75.210.44

;; Query time: 268 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Wed Sep 15 16:38:20 2010
;; MSG SIZE  rcvd: 59

相关内容