2014-10-18 17 views
2

我有一個亞馬遜EC2實例與兩個網站site1.com和site2.com。 EC2支持ELB(彈性負載平衡器),site1和site2指向ELB。 現在在Apache重定向的用戶正確的網站,我使用虛擬主機。 問題是,Apache使用ServerName來確定調用什麼網站。 對於ELB,ServerName始終是相同的,因爲site1和site2在到達apache之前都獲得ELB地址,所以ip和端口也是相同的。 那麼你們如何解決這個問題?一個負載平衡器 - 多個Apache VHosts

PS:我不想使用兩個負載平衡器,因爲我會添加更多的網站,並有許多負載平衡器成本太多。

編輯 我想保留只有端口80的原因解釋+ kums回答下面評論。

+0

你爲什麼需要一個ELB? – Dinesh 2014-10-27 03:10:23

+0

發現'主機'標頭沒有被ELB轉發?自你的問題後的任何更新? – mschonaker 2015-04-24 21:28:51

回答

-1

由於您希望爲兩個不同的站點使用相同的EC2實例,請使用基於Apache端口的虛擬主機,並配置ELB在同一EC2實例的不同端口中配置2個偵聽器。這個想法類似於http網站和https網站在同一個實例上。

你可以在這裏找到文檔:http://docs.aws.amazon.com/gettingstarted/latest/computebasics-linux/getting-started-create-lb.html

+1

對不起,我以前沒有提過它,但我不想聽兩個不同的端口。我想保持端口80,因爲改變它會使我的生活更加艱難:使用端口80的apache模塊將崩潰,Linux軟件包,firwalls,iptables將崩潰,我提供的api和webservices也會崩潰,而且我可以使用太多的東西別想象... – john 2014-10-19 09:45:41