2013-01-16 101 views
2

我有一种特殊情况,这种情况超出了我的专业领域,是一名PHP开发人员而不是网络管理员。绕过DNS服务器向特定服务器请求域

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

因此,我相信我需要更改域上的a记录以指向我自己的服务器。但是,我将如何将50%的流量发送到旧服务器?如果我直接导​​航到A-Record上的IP地址,网站不会出现,我推测因为服务器只知道如果请求以a.com的形式使用虚拟主机。所以,我需要更改a记录,然后将流量发送到请求此服务器的此IP地址....并且我需要为接收到的50%匹配执行此操作。我不知道如果我可以使用PHP头()做到这一点...我不知道如何做到这一点。

任何建议,欢迎...我疯了我的大脑,但无法找到解决方案。

+0

这应该可以通过[Apaches负载平衡]实现(http://httpd.apache.org/docs/2.2/mod/ mod_proxy_balancer.html)。更改记录,以便所有流量进入您的网站,然后将50%的余额与原始IP进行比较 – 2013-01-16 01:50:43

+1

由于您的新网站正在测试中,创建不同的域并分别进行测试(b.com)会更好吗?将所有流量中的50%随机分配到两个不同的*网站听起来不仅奇怪,而且还有潜在的危险(DNS缓存,会话管理)。这样你就可以完全控制Web服务器。 –

+0

基于DNS的负载平衡对于任何会话相关的代码或站点来说都不能很好地工作,否则这些代码或站点将因每个会话具有一致的接口而受益;你必须拉一些技巧才能使它工作。 –

回答

1

如果你能得到DNS移到您可以访问的服务器。 DNS Round Robbin可能是一个简单的方法来实现这一点。设置2个记录,每个服务器一个记录会在域解析时自动交替。我没有尝试过在2台服务器上完全不同的内容,但它可能值得测试

+0

感谢大家的回复。我已经阅读了Round Robin DNS,它的确听起来像一个简单的(尽管很粗糙)处理这种情况的方法。我不知道简单地输入两个@ a记录会发送交替命中到一个服务器或另一个服务器,非常方便知道。 – Pez

1

是否有用户点击您的网站版本?

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

@ IP1 
@ IP2 

而让DNS做它的事情。

编辑

或作为其他用户称,阿帕奇负载处理可以做的伎俩