Apache-2.2

是否可以在一個域上託管 2 個站點但有 2 個不同的 IP?

  • May 8, 2012

我有託管www.mysite.com的伺服器 A

我想在伺服器 B 上創建和託管一個站點,但將其配置為:www.mysite.com/theSiteAtServerB

TheSiteAtServerB 是與 www.mysite.com 完全不同的站點,並且位於完全不同的伺服器上,但客戶端希望使用www.mysite.com並在相同的 url 下為 TheSiteServerB 提供內容。

這是可能嗎?DNS配置?或者通過一些 Apache 魔法?

謝謝!

編輯1:

澄清一下,我想在不重定向或重寫 url 的情況下實現這一點。

**http://www.mysite.com/>**和**<http://www.mysite.com/siteAtServerB>**是不同的站點技術上具有不同的 IP 地址我想知道是否可以修改 DNS 以便我可以指向 www.mysite。 com ————–> ServerA(目前) www.mysite.com/theSiteAtServerB ————–> ServerB

編輯 2** 為了確保我理解流程,它會像這樣工作嗎:

1- Web 請求進入伺服器 A

2- mod_rewrite 根據匹配的規則處理請求

3- mod_proxy 從源伺服器獲取內容並將其返回給響應

在安全性方面,大部分鎖定是否來自於為 mod_proxy 確定正則表達式 > 表達式?基於此:http://httpd.apache.org/docs/2.0/mod/mod_proxy.html#access>,我假設我還需要設置代理訪問權限?但是,如果該站點是公共站點,我會將 > 放在代理訪問塊中,我會將其設置為允許 *

您想要完成的工作可以通過使用mod_proxy來實現,這通常不適用於共享託管環境,因為如果沒有正確鎖定它可能會出現相當嚴重的安全問題。如果您做得不對,您將為不法之徒提供一個開放代理,以使用伺服器的 IP 地址上網。

如果您可以完全訪問網路伺服器,則可以打開 mod_proxy。這使用 mod_rewrite 來設置正確的代理:

RewriteRule ^/SiteAtServerB/(.*)      http://serverb/site/$1     [P,L]

您可以提供的正則表達式越精確,就越能保護您免受惡意業務的侵害。

這將完全符合您的要求。ServerB 將看到來自 ServerA 的 IP 地址的請求(無論如何都是其中之一),客戶端只會看到一個不變的 URL。

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