舊伺服器即將退役,但需要指向它的網址才能重新導向到新伺服器

舊伺服器即將退役,但需要指向它的網址才能重新導向到新伺服器

我繼承了一個每天都會受到數百個不同使用者造訪的 Intranet 網站。他們都知道如何到達該頁面,只需鍵入http://舊伺服器名稱/站點享受。我們已將網站移至新伺服器,一切正常。問題是舊伺服器即將退役,他們希望盡快退役。建立該網站並運行該網站的人本來應該在三月完成這項工作,但後來推遲到他離開公司為止,現在由於截止日期,管理員們都在為我擔心這件事。

這是我的困境。如果我們關閉舊伺服器http://舊伺服器名稱/站點(這個網站每個人都加了書籤,已經運行了 10 多年,並列在各種隨機文件和 SOPS 中),不再有效。他們必須使用http://新伺服器名稱/站點到達同一頁。我告訴管理員這遠非理想,並要求對 DNS 進行一些支持,結果關閉了。

他們不想進行 cname,他們不想在部署新伺服器後讓舊伺服器繼續運行,而且他們也不太關心,因為這本來應該在三月完成。

我這週才發現這一切,回到過去是不可能的。因此,如果沒有 cname,舊伺服器仍在運行,並帶有警告頁面和重定向,或者時間機器,我有什麼選擇?

答案1

好的解決方案

正確的解決方案是取得 CNAME。這就是 DNS 的設計目的。在這種情況下,買甜甜圈、在電話裡對人大喊大叫、去找經理都是適當的行為。

糟糕的解決方案

如果這不是一個選擇(我不確定我能接受它,但我會嘗試繼續前進)。我唯一的策略是建立一個腳本,為使用者主機檔案新增一個條目。這實際上會覆蓋 DNS 伺服器。如果您對任何機器有管理控制權,您可以簡單地控製或附加到主機檔案。有關主機文件的一些資訊可以在以下位置找到http://www.howtogeek.com/howto/27350/beginner-geek-how-to-edit-your-hosts-file/

如果您沒有使用者電腦的管理員權限,我將用下載連結和執行腳本的說明來取代舊伺服器網站上的主頁。聽起來你已經有了一個計數解決方案,但如果不向舊網站添加一個計數器,這樣你就可以看到,更重要的是與你的老闆溝通,如果機器關閉,有多少用戶將受到影響。我也會嘗試取得所有將舊伺服器名稱替換為新伺服器名稱的文件。

這最終會導致大量的支援工作。

答案2

您可以使用轉送流量,等待 DNS 傳播

在舊伺服器上執行

echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination IPNewServer
iptables -t nat -A POSTROUTING -p tcp -d IPNewServer --dport 80 -j MASQUERADE

但最終的解決方案是更改 DNS 並在舊伺服器上使用 301 Moved Permanently

.htaccess:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^oldservername/site  [NC,OR]
RewriteCond %{HTTP_HOST} ^www.oldservername/site [NC]
RewriteRule ^(.*)$ http://newservername/site/$1 [L,R=301,NC]

等到你的腳碰到你的鬍鬚時告訴你所有訪客都在更改他們的書籤

相關內容