管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
一、实现原理
J) G! t) f( o- k+ A- A 反向代理需要用到nginx。反向代理是在服务器端进行处理。首先修改hosts文件,将域名指向开发者的电脑本身,把自己伪装成服务端,再通过nginx对不同的请求进行转发,把静态资源指向开发者本地电脑的资源,将接口指向实际的服务器。
) b! d( }! A9 c, I+ E% j! ~- c" G; d9 ^$ g: Z* e
可以理解为把饭店设置在了黑社会的楼下,去楼下买酱排骨饭的时候,饭店米饭自己做,酱排骨则偷偷跑去别的饭店买。
2 ~1 c4 X' M6 ~$ H8 n
6 E: l# Z8 ~9 B二、程序运行过程
# R) d. x5 Q% K0 j) p) R5 V: Z! _浏览器访问页面,假设访问淘宝页面:taobao.com/index.html
6 i: r* Z, A/ i' Z, O) i( E8 ^/ N/ X
taobao.com域名解析先经过hosts文件配置,发现taobao.com域名指向127.0.0.1,则向本机发起请求。- _; b$ D8 J6 X
7 W- O& l6 e$ l" ~% m( w2 tnginx接收到taobao.com/index.html请求,根据nginx的配置,将把这个请求转发给127.0.0.1:3000。
6 A; }, p& _ i* \, V
: @9 e! A7 j& o3 p浏览器运行index.html文件,发起taobao.com/api/getNew请求/ L, W9 u' H, C; V3 }& [/ B
: L: f N% ?$ T+ J: U+ `3 e/ T0 z
nginx接收到taobao.com/api/getNew请求请求,根据nginx的配置,将把这个请求转发给真正的淘宝服务器中。
" H+ Y5 v' C; L4 y1 S3 {+ z5 L% g4 G% X8 l9 T0 z# C% {
淘宝服务器将数据返回给nginx,再返回给浏览器执行。 |
|