實體主機1
內部ip:192.168.0.10,port 8080
www.aaa.com
實體主機2
內部ip:192.168.0.20,port 80
www.bbb.com
兩台實體主機都接到同一台路由防火牆
路由器防火牆,fourtigate 1000
防火牆對外直接連到數據機
假如我要將實體主機1 改為同樣80port
請問各位大大,我該怎麼讓外面的使用者透過不同網址,連進我兩台不同的web server
你需要在內部建置一台 Reverse Proxy, 將外面的 Port 80 全部導向給這台 Reverse Proxy, 然後在上面設定: 那一個 URL 是要丟給哪一個後端的 Server, 只要 URL 不一樣, Port 相同也沒關係, 因為 Reverse Proxy 是根據 URL 來判斷的:
Reverse Proxy 的解決方案有很多種, 有花錢的, 例如: Big5 這種具備 Layer 7 Switch 功能的網路設備, 也有不花錢的, 例如: Squid, Apache, HAproxy...等等, 這些 Open Source 的軟體.
Layer 3 的防火牆本身做不到, 你一定要多加一台 Reverse Proxy 在內部才行.
架在兩台不同的電腦..
PORT不同的話 可以....
都要指定成80 PORT 應該不行吧....
把 Ray 大大的方案稍微改一下:
這樣就省下要建置一台 reverse proxy 的考量了。
大家似乎太專業了,只要用虛擬主機(192.168.10.10)對應就好了
看到 www.aaa.com = > 對應給主機 ../www/aaa/ 起始位置
看到 www.bbb.com = > 對應給主機 ../www/bbb/ 起始位置
這樣對外只要一個IP,根固定式PORT 80 即可
在設定轉址 : bbb => 轉址給IP:8080 (防火牆設定號 8080 給 : 192.168.10.20)
這樣外面只有一個固定IP,訪客也只要知道 80 port
如果是在一台主機上,兩個網域,就不需要這麼麻煩了
事實上,應該也是要這樣
可以參考瑞鑫資訊MX MAIL 虛擬主機對應功能