1、反向代理的概念:
对一个大型网站来说,随着网站的访问量的快速增长,单台服务器已经无法承担大量用户的并发访问,必须采用多态服务器协同工作,以提高计算机系统的处理能力。通过Nginx提供的反向代理和负载均衡功能,可以合理地完成业务的分配,提高网站的处理能力。
1)概念
正向代理:局域网中的客户端要访问Internet
,则需要通过代理服务器来访问,这种代理服务就称为正向代理。
反向代理:我们将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP
地址。
反向代理的客户端用户只能通过外网来访问代理服务器,并且用户并不知道自己访问的是一个代理服务器,好处就是反向代理将真正处理放在内存中,有效地提高了网络安全性。
反向代理的用途就是将防火墙后面的服务器提供给Internet用户访问,还可以为多个后端服务器提供负载均衡功能,缓存功能等。
反向代理服务器怎么选择后面的服务器呢?就是负载均衡。
代理服务技术在Nginx服务器中占据着举足轻重的地位。Nginx中很多应用功能都是从代理服务中衍生出来的,如负载均衡。
2、反向代理服务器的配置:
反向代理的配置非常简单,最主要的指令就是proxy_pass,用于设置后端服务器的地址。该地址中包括传输数据使用的协议,服务器主机名以及可选的URI资源等。
1)准备服务器
服务器名称 | IP地址 | 备注信息 |
反向代理服务器 | 192.168.17.3 | reproxy |
后端服务器1 | 192.168.17.128 | web1 |
后端服务器2 | 192.168.17.120 | web2 |
2)然后给三台服务器安装nginx,并启动nginx。
3)配置反向代理:
说明:配置域名为test.ng.test和test.web.com的域名的虚拟机。
然后下面是配置proxy_pass指令后的http://表示传输数据所使用的协议,在服务器支持https服务的情况下,还可以将其指定为https://安全网络传输协议。
1)两个端口都是80;
2)proxy_pass的填写方式等。
注意:更改了配置文件,需要对nginx进行重启。
4)然后在web1和web2服务器上分别修改html目录下的index.html文件:
<h1>Welcome to web server1: 192.168.17.128!</h1>
<h1>Welcome to web server2: 192.168.17.200!</h2>
5)在宿主机上修改下hosts文件:
6)然后在浏览器中进行测试: