cncml手绘网

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

作者: admin    时间: 2020-2-25 04:49
标题: 反向代理的实现原理
一、实现原理
" ?1 s! w+ L7 _, d2 R2 ^$ g5 O1 y  反向代理需要用到nginx。反向代理是在服务器端进行处理。首先修改hosts文件,将域名指向开发者的电脑本身,把自己伪装成服务端,再通过nginx对不同的请求进行转发,把静态资源指向开发者本地电脑的资源,将接口指向实际的服务器。
0 K) N' j) t" M, u* {/ P8 F6 f7 C, D# R* J! t$ w6 m/ B% h: W
  可以理解为把饭店设置在了黑社会的楼下,去楼下买酱排骨饭的时候,饭店米饭自己做,酱排骨则偷偷跑去别的饭店买。1 S7 K# T; n: W- h- f* H' _7 L  I
: z& b- O7 o5 B! t! @! F" \
二、程序运行过程# o" s  H1 a9 |
浏览器访问页面,假设访问淘宝页面:taobao.com/index.html5 [2 u+ g/ ?4 E5 e) J

  c; z. X) Z" A4 W) ]" |/ e' btaobao.com域名解析先经过hosts文件配置,发现taobao.com域名指向127.0.0.1,则向本机发起请求。
' ~- R# _1 U0 J$ X/ `) K$ f. m1 Z6 p  j" D
nginx接收到taobao.com/index.html请求,根据nginx的配置,将把这个请求转发给127.0.0.1:3000。# o* Z' E4 `5 K& z0 Z& U2 s- u

' @3 ^7 k# A% I% y# a浏览器运行index.html文件,发起taobao.com/api/getNew请求/ p: b4 `9 `0 H. G

0 s- d* y; l, N: f3 }# N5 v: Y% Rnginx接收到taobao.com/api/getNew请求请求,根据nginx的配置,将把这个请求转发给真正的淘宝服务器中。
6 ]: L$ j, f% X% Z$ }! ~3 D( e0 P6 q/ y1 m3 f9 B
淘宝服务器将数据返回给nginx,再返回给浏览器执行。




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