SongShuA

SongShuA

胸中梦黄粱,手握自在心 一个充满想法的网络安全从业人员 A person with dreams in their heart and the ability to control their own destiny, who is a creative professional in the field of cybersecurity.
github

初探单域名单端口多服务web

這陣子遇到好幾次這麼一種情況。一個域名,一個端口,但是存在不同後綴的文件。

當時首先想到的是端口複用,雖然沒實際用過但是看這個詞就知道功能上應該沒問題。但是想了想,一般的開發或者運維人員技術力並不強,大概率是不會用端口複用的。直到昨天在某群裡有師傅發了一個文章的截圖,圖裡說到了這種情況,並且說可能是用了反代技術。這時候我才恍然大悟。

反代 ==== 反向代理

一般運維大多都會這個東西,屬於比較基礎的一種類 vpn 技術。之前我也只是大概直到這個東西,這次正好借機會學習學習。

首先說下反向代理的概念,先放兩張圖

正向代理

反向代理

兩張圖其實已經非常清楚了,要是還不懂的話。用通俗的話來說普通的代理(正向),將用戶變成代理伺服器去訪問資源。反向代理是伺服器把資源拿來給用戶訪問。一個是讓用戶出去,一個是讓資源進來。

那麼說起反向代理就不得不提到 Nginx,一般反代伺服器都是用這個,雖然 Apache 也可以,但是用的人好像並不是很多。

反向代理功能在 Nginx 的配置文件中設置。Nginx/conf/nginx.conf

該文件中的內容基本可以以這個結構理解

http {
	server {
	
	}
	}

http 即 http 伺服器相關,server 即開啟的服務功能模組。所以我們需要在 server 裡進行設置。

image-20210813203043769

如圖所示。

server 監聽 80 端口

服務識別名稱為綁定的域名

location 即為本地相關設置,後面可跟路徑、正則。在這裡我寫了兩個規則,分別是判斷兩個格式後綴。

所以這個配置的功能就是:當以 www.ttt.com 訪問到該伺服器時,判斷訪問後綴。如果是 html 則反代 888 端口服務,txt 則反代到 889 端口的服務上。(兩個端口是為了區分不同網站,因為我也真沒有兩台伺服器,只好以一台伺服器的兩個端口區分)

location 配置規則

https://juejin.cn/post/6908623305129852942

y4er 師傅說也可能是本地 web 服務 + 一個反代。這種思路大概也能出現這種功能,但我覺得還是保持存疑。因為在配置文件上好像有一些衝突的地方。web 服務應該是直接在 http 一層設置的,反代在 server 層。兩個先不說優先級和覆蓋。location 的規則可是只能在本層生效,上層應該是不行的。

當然,到這裡我就沒再試了,也不敢肯定,只是推測。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。