反向代理
前端发送的请求,是如何传到后端服务的?
前端请求地址:http://localhost/api/employee/login
后端接口地址:http://localhost:8080/admin/employee/login
两个地址不一致,那前端的请求是如何传到后端的呢??
答: 使用nginx反向代理
nginx 反向代理的好处:
-
提高访问速度
因为nginx本身可以进行缓存,如果访问的同一接口,并且做了数据缓存,nginx就直接可把数据返回,不需要真正地访问服务端,从而提高访问速度。
-
进行负载均衡
所谓负载均衡,就是把大量的请求按照我们指定的方式均衡的分配给集群中的每台服务器。
-
保证后端服务安全
因为一般后台服务地址不会暴露,所以使用浏览器不能直接访问,可以把nginx作为请求访问的入口,请求到达nginx后转发到具体的服务中,从而保证后端服务的安全。
nginx 反向代理的配置方式:
server{
listen 80;
server_name localhost;
location /api/{
proxy_pass http://localhost:8080/admin/; #反向代理
}
}
proxy_pass:该指令是用来设置代理服务器的地址,可以是主机名称,IP地址加端口号等形式。
如上代码的含义是:
监听80端口号, 然后当我们访问 http://localhost:80/api/…/…这样的接口时,
它会通过 location /api/ {} 这样的反向代理到 http://localhost:8080/admin/上来。
通俗来讲就是把我们原本请求的接口地址的前面,替换成了制定的地址,但后面的地址还是不变的,故又叫反向代理
前端请求地址:http://localhost/api/employee/login
将前半部分 http://localhost/api 替换掉,换成 http://localhost:8080/admin/
这样就形成了请求的后端地址 http://localhost:8080/admin/employee/login
3090

被折叠的 条评论
为什么被折叠?



