2015-09-10 44 views
0

我有2個IP地址。它基本上用於SSL,但假設我希望example1.com和example3.com工作在IP 1.1.1.1,example2.com工作在IP 2.2.2.2。Apache上的基於名稱的虛擬主機,帶有2個IP地址

我應該錯過某個地方。我在配置文件中基本上遵循了與此相關的設置 - 我在Apache文檔以及許多其他資源中閱讀和應用了相同的內容。

Listen 80 

<VirtualHost *:80> 
     ServerName example1.com 
     # ... 
</VirtualHost> 

<VirtualHost *:80> 
     ServerName example3.com 
     # ... 
</VirtualHost> 

<VirtualHost 2.2.2.2:80> 
     ServerName example2.com 
     # ... 
</VirtualHost> 

我有example2.com指向2.2.2.2和其他到DNS記錄1.1.1.1。

我可以成功進入example1.com和example3.com,但example2.com進入默認服務器,這是本示例的example1.com,因爲它是在配置中首先輸入的。

另一個奇怪的問題是:爲example2.com保持DNS相同,但將vhost配置更改爲*:80,並打開網站和服務器ip被報告爲1.1.1.1,因爲我可以從Web腳本中獲取以查看發生了什麼。

而另一個:即使我只在配置中保留example2.com域並刪除其他域,它仍然不能與IP協同工作。正如我試圖提到的那樣,如果我輸入2.2.2.2,它將通過此​​IP成功訪問服務器。

有人可以幫助我解決這個問題,這顯然是由我做錯了或缺少的東西造成的。

謝謝。

回答

0

我在服務器中啓用了DHCP。我改變它是靜態網絡,它都工作。

我編輯了/ etc/sysconfig/network-scripts/ifcfg-eth0以根據需要爲我的服務器添加靜態IP並禁用「自動配置網絡」選項。這是一個Linode服務器,需要在這裏解釋設置 - 以防萬一別人需要:https://www.linode.com/docs/networking/linux-static-ip-configuration