Ip

Apache 1 虛擬主機定義在 2 個 ips 上監聽 - 怎麼樣?

  • July 24, 2014

我們的 httpd.conf 文件中有幾個複雜的虛擬主機定義。

我的意思是:

<VirtualHost .....>
....
</VirtualHost>

我所說的複雜是指它們充滿了重寫規則等。

我們想將此虛擬主機綁定在 2 個 IP 地址上。目前它只綁定一個。

是否可以使用單個 VirtualHost 將虛擬主機綁定到 2 個 IP 地址?

如果我們將來需要進行更改,那麼擁有一個會更容易。

處理此問題的一種簡單方法是將公共位提取到單獨的文件(例如,/path/to/foo)中,然後Include將其放入您的 vhost defs 中:

<Vitrualhost ...>
 ServerName X
 DocumentRoot Y
 Include /path/to/foo
</Virtualhost>

<Vitrualhost ...>
 ServerName Z
 DocumentRoot A
 Include /path/to/foo
</Virtualhost>

注意:不要/path/to/foo將萬用字元放在Include其他地方。

您可以在定義中放置多個 IP/埠說明符,如文件中所述

例子:

<VirtualHost 1.2.3.4:80 2.3.4.5:80 1.2.3.4:8080>
DocumentRoot /path/to/wherever
ServerName example.com
# Stuff goes here
</VirtualHost>

只需確保您已為 Apache 配置了足夠的 NameVirtualHost 定義。

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