一.nginx反向代理好处:
1. 提高访问速度(可以进行缓存,如果访问相同资源可以直接响应数据)
2. 可以进行负载均衡(如果没有nginx前端只能固定地访问后端某一台服务器,加入nginx则可以将请求分发给后端不同的服务器)
负载均衡:把大量的请求按照、我们指定的指定的方式均衡的分配给集群中的每台服务器。
3. 保证后端服务安全(前端不能直接请求到后端服务器,需要通过Nginx转发)
二. nginx反向代理的搭建:
location /api/ 的意思是如果请求能匹配上/api/这个字符串。
proxy_pass 该指令的作用是设定转发的目的地,其后跟的是转发的目的地址。
3. nginx负载均衡的配置:
在webservers里面定义一组服务器,用于承接访问负载:
4. nginx负载均衡的策略:
服务器不一定需要平均承接请求,可以通过更改参数赋以不同的权重:
前端请求的地址和后端接口的地址不一致是如何请求成功的呢?
下图是前端请求地址,端口为81:
后端的地址如下,应该是http://localhost:8080/admin/employee/login
原理:nginx反向代理,将前端发送的请求由nginx转发到后端服务器。
下图是nginx的配置文件,它监听的是81端口,服务器名是本地(http://localhost:81)。如果匹配到api字符串(http://localhost:81/api),就转发到proxy_pass对应的地址(http://localhost:8080/admin)。如果后面还有字符串就拼接到目标地址后面(http://localhost:8080/admin/employee/login)。