【问题标题】:Bypassing DNS server to request domain from specific server绕过 DNS 服务器向特定服务器请求域
【发布时间】:2012-12-30 06:47:10
【问题描述】:

我有一个超出我专业领域的特殊情况,我是一名 PHP 开发人员,而不是网络管理员。

客户想要在我建立的新网站和竞争对手建立的旧网站之间进行拆分测试。所有流量都将发送到现有 url (a.com)。我可以访问客户的 a.com 的 godaddy 帐户,并且流量通过 A-Record 发送到我没有有权访问的服务器。老站长不会做任何事来帮助我的事业,这是可以理解的。

因此,我认为我需要更改域上的 a-record 以指向我自己的服务器。但是我如何将 50% 的流量发送到旧服务器?如果我直接导​​航到 A-Record 上的 IP 地址,则该网站不会出现,我认为是因为服务器只知道在请求以 a.com 形式进入时使用虚拟主机。因此,我需要更改 A 记录,然后将流量发送到请求此服务器的 IP 地址……我需要为收到的 50% 的点击量执行此操作。我不确定我是否可以使用 php header() 来做到这一点...我完全不知道该怎么做。

欢迎任何建议...我绞尽脑汁但找不到解决方案。

【问题讨论】:

  • 这应该可以使用Apaches load balancing。更改记录,使所有流量都流向您的网站,然后将 50% 的流量平衡到原始 IP
  • 既然您的新网站正在测试中,那么创建一个不同的域并单独测试(b.com)不是更好吗?让 50% 的流量随机流向两个不同的网站,这听起来不仅奇怪而且有潜在危险(dns 缓存、会话管理)。这样您就可以完全控制网络服务器。
  • 基于 DNS 的负载平衡不适用于任何会话相关的代码或站点,否则这些代码或站点将受益于每个会话的一致接口;您必须采取一些技巧才能使其发挥作用。
  • 非常感谢您的回复。这是一种特殊情况,创建第二个 URL 就可以了,但所有流量都将从现有 url 开始……他们已经购买了广告。如果这将是一个更高流量的站点或永久解决方案,负载平衡听起来是正确的解决方案,但由于这两者都不是我打算给 Round Robin DNS 一个机会,如果这是为了回退到负载平衡某些原因不起作用。谢谢!

标签: php apache redirect dns


【解决方案1】:

如果您可以将 DNS 移至您有权访问的服务器。 DNS Round Robbin 可能是实现此目的的一种粗略方法。设置 2 条记录,每台服务器一条记录将在解析域时自动交替。我没有在两台服务器上尝试过完全不同的内容,但它可能值得测试

【讨论】:

  • 感谢大家的回复。我已经阅读了 Round Robin DNS,它听起来确实是一种处理这种情况的简单(虽然粗略)的方法。我不知道简单地输入两个 @ a 记录会向一个服务器或另一个服务器发送交替命中,这很容易知道。
【解决方案2】:

是否有用户访问您的网站版本?

如果您有权访问 a 记录,则实际上可以添加两条 a 记录。

@ IP1
@ IP2

让 DNS 来做这件事。

编辑

或者正如其他用户所说,apache 负载处理可以解决问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-20
    • 2019-03-28
    • 2011-06-07
    • 2016-04-01
    • 2016-02-27
    相关资源
    最近更新 更多