Virtualization

將一個外部 ip 上的多個子域路由到多個內部 ip

  • March 27, 2012

我有幾個子域(git.example.org、build.example.org 等),我有一個具有外部 ip 的路由器,並且我在一台具有內部 ip 的主機上有幾個虛擬機。現在我想將 git.example.org 路由到內部 ip 10.0.2.1 並將 build.example.org 路由到內部 ip 10.0.2.2。我怎樣才能做到這一點?

我在路由器中設置埠 80 上的所有流量都通過內部 ip 10.0.2.3 進入我的主機,並在該電腦上安裝了 Squid。

我在 squid.conf 文件中添加了以下幾行:

cache_peer 10.0.2.1 parent 80 0 no-query originserver name=server_1
cache_peer_domain server_1 git.example.org
cache_peer 10.0.2.2 parent 80 0 no-query originserver name=server_2
cache_peer_domain server_2 build.example.org

但這對我不起作用。:( 任何幫助表示讚賞。

問候尼爾斯

更新:這是 Apache 的解決方案

https://serverfault.com/a/273693

Squid 並不是反向代理的最佳解決方案——只要有足夠的刺激,它就可以做到,但它不是我永遠不會使用的工具。

對於簡單的代理需求,我會使用nginx HttpProxyModule(或 Apache 的mod_proxy,如果你喜歡的話),如果記憶體是優先事項,則切換到清漆。使用網路伺服器的好處是它們簡單、健壯,而且您可能已經使用它們,因此對它們有所了解。另一方面,清漆有點小眾,但是當你想要一些可以記憶體你的內容的東西時,它真的是鴨子的堅果。

不過,關於這一切要記住的是,基於名稱的代理重定向僅適用於支持指示它們所連接的服務名稱的協議——這大大限制了您的協議選擇。因此,如果您正在執行 HTTP 以外的任何操作,您可能想與您的網路提供商討論更多的 IP(儘管我們的 IPv4 空間已用完)。它確實讓生活變得如此輕鬆。

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