2013-01-16 197 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做它的事情。

編輯

或作爲其他用戶稱,阿帕奇負載處理可以做的伎倆