[Server] 用 Reverse proxy 讓新舊網站同時上線

14726635651_920845ac53_z

最近忙著公司新網站開發,以及每幾天就被會議追殺…

實在有點沒什麼時間寫 blog (誤)

儘管如此,還是希望能將工作中所遇到的問題解決後整理起來

 

在新網站開發的過程中,遇到了些問題

其中最近遇到的問題是:「新網站部分功能完成,必須同步上線至現有網站」

簡單來說

原網站位置: /var/www/html_old

新網站位置: /var/www/html_new

網域: www.abc.com

新舊網站的兩個目錄都在同一台機器內

原網站大多數內容會繼續在線上

而新網站的開發,會邊開發邊上線新功能到 www.abc.com

舉例來說 原網站首頁為 www.abc.com/index.php

首頁檔案(index.php)位置為: /var/www/html_old/index.php

那今天,正在開發的新網站,先完成了某一部分功能

必須上線到 www.abc.com/feature/index.php

這時候該將兩個目錄指向到同一個網域呢?

可以透過 Reverse Proxy(反向代理)來實現兩個目錄指向到同一個網域

簡單的 Apache Vhost 搭配 Reverse Proxy 設定範例:

在 Apache VirtualHost(VirtualHost 除了需要在 Apache 設定外,還需要設定系統的 host 檔案) Conf 加上

就表示當 End User 瀏覽 http://www.abc.com/feature 時,將不會讀 /var/www/html_old/ 底下檔案

而是經過 Reverse Proxy 去讀取 http://new_site/feature 也就是目錄 /var/www/html_new/ 底下之檔案

透過 Reverse Proxy 的設定,算是解決新舊官網需要同時上線的需求

繼續朝向 full stack 之路邁進

Leave a Reply