管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
一、实现原理
: i6 X+ F; `9 u! R 反向代理需要用到nginx。反向代理是在服务器端进行处理。首先修改hosts文件,将域名指向开发者的电脑本身,把自己伪装成服务端,再通过nginx对不同的请求进行转发,把静态资源指向开发者本地电脑的资源,将接口指向实际的服务器。
$ j. q8 s: L# ~0 s" p7 W. s* X9 B" |; Y, T4 R
可以理解为把饭店设置在了黑社会的楼下,去楼下买酱排骨饭的时候,饭店米饭自己做,酱排骨则偷偷跑去别的饭店买。
( X- z1 B+ s6 |4 H
, }7 _# X j0 J+ v) J+ D二、程序运行过程
' T0 H8 W3 r7 ]' F9 L浏览器访问页面,假设访问淘宝页面:taobao.com/index.html5 }5 ]' i3 p( Q5 y |5 ^
" N$ p% ? H* C5 H5 Wtaobao.com域名解析先经过hosts文件配置,发现taobao.com域名指向127.0.0.1,则向本机发起请求。, I' ]+ j; t. d% k, ?6 ] d
, _/ ?& C! I( r' O1 f
nginx接收到taobao.com/index.html请求,根据nginx的配置,将把这个请求转发给127.0.0.1:3000。# c6 n! x/ D5 |2 N4 D$ Q# Z( ?
# b, r h! C& e; f/ x. D浏览器运行index.html文件,发起taobao.com/api/getNew请求
0 L! v3 R+ y3 Q' Y
- R0 h2 ^# P, ?0 |! F% @nginx接收到taobao.com/api/getNew请求请求,根据nginx的配置,将把这个请求转发给真正的淘宝服务器中。4 T! v9 d D, z( ?) n
+ w x' `' W+ C6 ~淘宝服务器将数据返回给nginx,再返回给浏览器执行。 |
|