实验工具
Nginx
Nodejs
浏览器
实验原理
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。
反向代理的工作原理是,代理服务器来接受客户端的网络访问连接请求,然后服务器将请求有策略的转发给网络中实际工作的业务服务器,并将从业务服务器处理的结果,返回给网络上发起连接请求的客户端。
反向代理是代理服务器端,为服务器收发请求,使真实服务器对客户端不可见。
在该实验中,nginx即为反向代理服务器,接受从客户端发来的请求,然后分配给自己内部的不同服务器。如下图。
Nginx接收到服务请求后将其分配到不同的端口。
实验过程
首先在自己的电脑上安装nginx以及nodejs。
首先用JavaScript创建四个模拟服务器。
在nginx的文件目录下进入conf找到一个名为nginx.conf的文件,该文件即为nginx的配置文件,将四个服务端口添加进去。
进行测试
使用curl命令进行终端测试。
此时由于四个服务器端口的权值一样所以采用轮询的方式进行访问。测试结果如下,四个端口依次被访问。
修改nginx配置文件中各个端口的权重
在命令行窗口对ngixn重载以读取新的配置文件
进行测试,结果如下
可以看到访问各个服务端口的次数与所设权重的比例几乎一致。