iT邦幫忙

0

一個固定IP,該如何分別架設兩台實體主機Windows web Server

實體主機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

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
15
Ray
iT邦大神 1 級 ‧ 2015-03-30 10:18:15
最佳解答

你需要在內部建置一台 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 在內部才行.

Ray iT邦大神 1 級 ‧ 2015-03-30 10:23:30 檢舉

Big5

X的, 寫太快了...應該是 F5 的 BIG-IP.....Orz

2
diskdupekimo
iT邦新手 2 級 ‧ 2015-03-30 00:26:13

架在兩台不同的電腦..
PORT不同的話 可以....
都要指定成80 PORT 應該不行吧....

2
wiseguy
iT邦超人 1 級 ‧ 2015-03-30 12:04:12

把 Ray 大大的方案稍微改一下:

  1. 讓 80 port 的主機 binding 實際 IP,或是 NAT 80 port 給這台。
  2. 假設它是 Apache 或 NginX 之類,具有 reverse proxy 功能的 Web Server,依據你說的 URL 規則,設定當符合某些 URL 時,就 proxy pass 給 8080 那台即可。

這樣就省下要建置一台 reverse proxy 的考量了。

2
riches88
iT邦研究生 3 級 ‧ 2015-03-30 18:14:16

大家似乎太專業了,只要用虛擬主機(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 虛擬主機對應功能

我要發表回答

立即登入回答