cncml手绘网

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

作者: admin    时间: 2020-2-25 04:49
标题: 反向代理的实现原理
一、实现原理 5 g% f% a$ g: j) T' G
  反向代理需要用到nginx。反向代理是在服务器端进行处理。首先修改hosts文件,将域名指向开发者的电脑本身,把自己伪装成服务端,再通过nginx对不同的请求进行转发,把静态资源指向开发者本地电脑的资源,将接口指向实际的服务器。
+ L6 G! t' S, e, J# B% F! @8 t2 `0 @7 m) @8 Y. B8 Q
  可以理解为把饭店设置在了黑社会的楼下,去楼下买酱排骨饭的时候,饭店米饭自己做,酱排骨则偷偷跑去别的饭店买。0 L& R: M" o$ F! {  Q% `

6 Y1 t; ]  ]! o& F  r6 d, j6 t( \6 }二、程序运行过程' O! q. Q8 T$ W0 B
浏览器访问页面,假设访问淘宝页面:taobao.com/index.html
) E7 k# G9 ~: T6 g. |4 W) H- f
7 X2 f4 K. r$ itaobao.com域名解析先经过hosts文件配置,发现taobao.com域名指向127.0.0.1,则向本机发起请求。
! \( X# U& I4 A, @9 N# o) S  ^; J; {  e9 T2 S
nginx接收到taobao.com/index.html请求,根据nginx的配置,将把这个请求转发给127.0.0.1:3000。  m2 L6 q; I  k; u5 l4 K
3 ~4 j) R; L0 e5 l7 @9 J
浏览器运行index.html文件,发起taobao.com/api/getNew请求+ Q1 `7 ^, [3 S% f7 b9 ^: a

0 S# [! b# L) H) b! }7 Onginx接收到taobao.com/api/getNew请求请求,根据nginx的配置,将把这个请求转发给真正的淘宝服务器中。
, n$ ?& f1 z& x( S  m3 L. p: j8 Q) u) `- _- E$ |9 y" B& i: G9 b9 @* N
淘宝服务器将数据返回给nginx,再返回给浏览器执行。




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