Linux

從基於名稱的虛擬主機遷移到基於 IP 的虛擬主機的最佳程序?

  • October 22, 2010

我們目前在一個 IP 上為兩個網站使用基於名稱的虛擬主機。兩者的 DNS 條目都指向第 3 方 Web 主機上的相同 IP。

我們已經為兩者購買了 SSL 證書,這意味著基於名稱的虛擬主機不再是我們的選擇。看起來我們需要做基於 ip 的虛擬主機。因此,我們還購買了一個額外的 IP 用於第二個網站。

我想驗證這些是在最短的停機時間內進行更改的正確步驟:

  1. 在 Linux 級別添加新 IP 將 /etc/sysconfig/network-scripts/ifcfg-eth0 複製到 /etc/sysconfig/network-scripts/ifcfg-eth0:1 並針對新 IP 進行相應編輯。然後執行“ifdown eth0”和“ifup eth0”。確保使用“/sbin/ifconfig”顯示新 IP。

  2. 編輯 httpd.conf。刪除“NameVirtualHost”指令並將“VirtualHost”修改為特定於 IP。使用“/usr/sbin/apachectl configtest”驗證並重新啟動 Apache。

  3. 將第二個網站的 DNS A 記錄更改為指向新 IP。

一些問題:

  1. 據我了解,#1 不會涉及任何停機時間,並且 eth0 上的現有 IP 將保持不變。那是對的嗎?

2)在上面的#2中,我們是否能夠設置一些東西,以便舊IP或新IP仍然指向正確的網站?聽起來這將暫時是一個混合環境。我認為這可以在 DNS 傳播時提供無縫選項。

3)我需要修改任何路由嗎?唯一改變的是添加新 IP 並將其正確指向第二個網站。

4)我錯過了什麼?

謝謝!

你的問題:

  1. 是的,從技術上講,這會導致停機。遠端發出該命令(例如,通過 SSH)將導致您無法訪問伺服器,這將導致更多的停機時間。你想要的是service network restart(我認為這是因為/etc/sysconfig/network-scripts路徑)
  2. 保持舊的 VirtualHost 完好無損,為您的新 IP 創建一個新的 VirtualHost 並複制該站點的配置。測試、重新載入、更新 DNS。在 x 小時後考慮傳播刪除您的舊配置。
  3. 您的新 IP 是否與舊 IP 在同一子網中?它有不同的網關嗎?
  4. 你有防火牆——外部硬體,還是內部軟體iptables?您可能需要為新 IP 地址更新或添加新規則

引用自:https://serverfault.com/questions/193983