Jump to...
redirecting...

Log for Ubuntu 台灣社群

想問問有沒有方法處理這個?
假如在一個Linux有一個實體IP,然後在主機內架設多個VM配置虛擬IP,目前有有多個網域指向這台主機。
是否有方法在主機上設定,讓每個網域連到不同的VM?還是只能NAT設定每個Port而已?
使用反向代理
像是前面加一個nginx之類的
當然這樣後端獲取到的IP會是內部的IP而不是用戶的,所以要用nginx的real ip之類的方法獲取正確IP
不過我想做的事不是單一服務,而且反向代理整個VM,這個NGINX可以做到嗎?因為爬文後好像都是單一Port而已?

Ex.
a.com:8080->192.168.0.1:8080
b.com:8080->192.168.0.2:8080
依照網域的不同,連到後面的主機,並且也可以使用到後面主機不同的所有Port
所有port很有問題吧
這代表他必須bind所有port耶
轉發好幾個port沒問題啊
就是這個問題!所以也只是一個一個轉?沒辦法只皆指向整個?
也只能
你知道一個port只能由一個程式使用吧.-.
你要轉所有port代表你所有port都會被佔用
這樣問題很大吧
那不就是 DMZ 嗎?
DMZ只是轉單一虛擬IP
nginx可以a.com:80 -> vm:8080這樣啦
不一定是外面80裡面也80
是這樣沒錯...只是想說有沒有例外辦法
也可以 a.com -> vm:80 b.com -> vm:8080
因為我朋友公司主管開給他那麼妙的點子?讓我也很無解..
看來不是我認知有錯誤(~_~;)
而是他主管有問題(蓋章
nginx也可以做到 a.com/vm1 -> vm1:80 a.com/vm2 -> vm2:80 ,他超棒的
NGINX真的很強大lol
不過看來因該這個問題就是無解,除非改成每個不同的Port分別跑不同主機不同服務
nginx直接多設幾個upstream,然後reverse proxy啊
我覺得沒有任何一個需求是會需要用到所有port啦,如果只是幾個port然後依據domain轉給不同VM是可以的
是說如果ip夠多,的確可能一個ip對應一個vm?
不過這樣網域就無解了
這樣說會許比較直接一點,一般網頁可以透過Virtua Host,來達到單一主機多個網站。
他想做的是單一主機多個VM,類似這樣的東西
但是,不管怎樣
nginx只能轉http流量
把每個vm bind上一個對外ip,然後ip綁各自domain之類的(那就是vps了啊)
沒有吧?我記得不是也可以當Mail Server Proxy?
https://www.nginx.com/resources/admin-guide/mail-proxy/
那也不是所有服務阿
這樣是最佳解啊!但就沒那麼多IP可玩
也是啦lol
一個IP放很多東西最佳案例就是OpenShift阿
但是一個ip就只有那麼多port,不可能憑空生出來啊
不然就是弄個proxy,用來存取沒有對外開放port的vm
是有想說弄個VPN,然後連進內網最快
我覺得這需求很問號
我也真的覺得很問號,一直覺得我朋友遇到很ㄎㄧㄤ的主管
謝謝兩位,我再問問他...
[sticker](media:AAQEABP-FVoZAAQPDKooh2vT7PM2AAIC@telegram)
你要轉整個 ip 的話可以用 iptables 做,但是你要轉網域,類似 vhost 的感覺,這是很上層的(大概是 L6 吧)的東西,沒辦法在不知道 port 以及 protocol 的狀況下得知 client 想要連到哪個網域,所以你的需求是做不到的。不過你可以講講你想做到的事情是什麼,也許有別的方式可以達成
詳細需求我朋友有只跟我講大概,可能是因該公司內部做的東西不方便多說吧(?
iptables做的話,我是有看到netmap感覺可以實現,但是依然是在網域上的問題打槍。就他給給我的規劃內容大概是無解了,可就像你提到的要看想做什麼事再來重新思考方法來處理了