原文地址:點擊跳轉
最近frp用戶量有點多,而且很多用戶都是想把部署於本地或者內網的web服務暴露至公網,之前提到過,暴露到公網之后如果一般都需要用域名:端口
的方法來訪問,但是沒有人會喜歡用這種方式訪問網站的。
於是問題就來了
只有一台機器,用戶都想把自己的web服務映射到80端口,可我的80端口就只有一個,如果第一個用戶使用了80,第二個用戶再使用80肯定會提示端口沖突,所以只通過frp本身的功能是不夠的。
如何實現多用戶共用80端口
一開始陷入了一個圈里,我在想“假設多個用戶能共用80端口,也就是80端口對應幾個不同的內網web服務,那其他人通過80端口訪問web服務時,服務器怎么會知道到底把請求轉發給哪一個WEB服務呢”
誒嘿!結果繞着繞着思路還真就找到了。
我直接告訴服務器哪個域名對應哪個內網web服務不就行了!
於是想到nginx的負載均衡(可能不太准確,或者說是反向代理)功能正好能實現。
框架大概是這樣:假設不同用戶的內網80端口分別轉發至服務器的8001、8002、8003·····他們各自的域名分別為a.com 、 b.com 、c.com然后我告訴nginx,有人請求訪問a.com了,你就去找8001端口;有人訪問b.com了,你就去找8002······以此類推。
(太困了,明天繼續寫)
下面舉個例子,我自己老母雞上有一個站點是demo.wuter.cn
,根據我的frp的vhost_http_port
設置,這個站點的80
端口是映射到公網的8081
端口的,但我又想直接通過公網的80
端口訪問,於是在nginx
的server
模塊加一個反向代理的設置。
此時直接訪問http://demo.wuter.cn就可以直接訪問到我的老母雞上。(文章發出時已關閉母雞)