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 的规则可是只能在本层生效,上层应该是不行的。

当然,到这里我就没再试了,也不敢肯定,只是推测。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。