管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
一、实现原理 # k1 @! j0 K7 Z' @' k+ H
反向代理需要用到nginx。反向代理是在服务器端进行处理。首先修改hosts文件,将域名指向开发者的电脑本身,把自己伪装成服务端,再通过nginx对不同的请求进行转发,把静态资源指向开发者本地电脑的资源,将接口指向实际的服务器。% Q3 H1 B7 d$ R$ L/ D6 L
+ Y' [4 a {" X+ X9 A, f
可以理解为把饭店设置在了黑社会的楼下,去楼下买酱排骨饭的时候,饭店米饭自己做,酱排骨则偷偷跑去别的饭店买。- ?. R( l( y; T7 [
* r. G7 H& B6 N K二、程序运行过程
2 a1 R; \2 X! {5 G% j浏览器访问页面,假设访问淘宝页面:taobao.com/index.html8 n# @* Y6 E% D1 r! P5 M7 t! o
- M2 u- S- F" L+ J e1 t
taobao.com域名解析先经过hosts文件配置,发现taobao.com域名指向127.0.0.1,则向本机发起请求。5 q5 b, q! N d3 j. f% |: b
$ J' }& ]7 o/ K9 [# W" w X* E
nginx接收到taobao.com/index.html请求,根据nginx的配置,将把这个请求转发给127.0.0.1:3000。
2 N3 D5 X8 ?3 |8 ^; ?) L+ K
+ e! P* U, M# N C# U. G浏览器运行index.html文件,发起taobao.com/api/getNew请求" @! B% U6 D/ P$ r9 `
2 `, l2 O, S6 B2 A8 R ?
nginx接收到taobao.com/api/getNew请求请求,根据nginx的配置,将把这个请求转发给真正的淘宝服务器中。
0 m& ]" j" t Z9 [% c' ^2 S, _* h: L2 r8 L: [$ L- X7 [
淘宝服务器将数据返回给nginx,再返回给浏览器执行。 |
|