cncml手绘网

标题: 反向代理的实现原理 [打印本页]

作者: admin    时间: 2020-2-25 04:49
标题: 反向代理的实现原理
一、实现原理
& x$ K, K' a& x5 H  反向代理需要用到nginx。反向代理是在服务器端进行处理。首先修改hosts文件,将域名指向开发者的电脑本身,把自己伪装成服务端,再通过nginx对不同的请求进行转发,把静态资源指向开发者本地电脑的资源,将接口指向实际的服务器。
$ z1 v( @3 j# E9 `$ {1 e  u% t5 X6 ^$ L* P
  可以理解为把饭店设置在了黑社会的楼下,去楼下买酱排骨饭的时候,饭店米饭自己做,酱排骨则偷偷跑去别的饭店买。: L5 y3 k2 M: n9 n9 G; k1 C8 V1 _
2 S% J8 L! Y& d- Q8 \. ~* F2 X
二、程序运行过程
  P, Q' ?# {" S* ~7 n浏览器访问页面,假设访问淘宝页面:taobao.com/index.html
/ y% [0 D$ A% C- t
: |$ \8 f$ Z0 Staobao.com域名解析先经过hosts文件配置,发现taobao.com域名指向127.0.0.1,则向本机发起请求。( A8 r0 X9 Y4 n. P+ a# x
5 O0 \3 R. |; r) p5 L
nginx接收到taobao.com/index.html请求,根据nginx的配置,将把这个请求转发给127.0.0.1:3000。
! Y" k7 G  f9 A$ g% }4 k) K
  ?- A+ Z3 Q# @) O+ c浏览器运行index.html文件,发起taobao.com/api/getNew请求) e3 L7 I, C% K3 e  M$ Z. ?
3 q$ C" f) w$ u
nginx接收到taobao.com/api/getNew请求请求,根据nginx的配置,将把这个请求转发给真正的淘宝服务器中。
5 N* B8 u5 C1 t. J2 Q7 }4 P
$ u4 k- q/ N0 |4 v% F+ b8 w淘宝服务器将数据返回给nginx,再返回给浏览器执行。




欢迎光临 cncml手绘网 (http://www.cncml.com/) Powered by Discuz! X3.2