管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
一、实现原理 ) L1 h) h. V% e4 [
反向代理需要用到nginx。反向代理是在服务器端进行处理。首先修改hosts文件,将域名指向开发者的电脑本身,把自己伪装成服务端,再通过nginx对不同的请求进行转发,把静态资源指向开发者本地电脑的资源,将接口指向实际的服务器。: D# ~! S9 |$ a* G" e
; i/ ~/ E9 r0 s; V
可以理解为把饭店设置在了黑社会的楼下,去楼下买酱排骨饭的时候,饭店米饭自己做,酱排骨则偷偷跑去别的饭店买。
+ R7 ?. R( {$ {& H+ d4 G
5 y9 w" c5 ]% K6 S( V二、程序运行过程' X8 h& v' Z4 O6 o; q6 V
浏览器访问页面,假设访问淘宝页面:taobao.com/index.html& E; C, `# r9 l2 S, n' k
3 o- `* U. z6 B$ Ytaobao.com域名解析先经过hosts文件配置,发现taobao.com域名指向127.0.0.1,则向本机发起请求。
, n: g* u2 d. y) d: O* q+ p3 p# f0 d' V1 ^
nginx接收到taobao.com/index.html请求,根据nginx的配置,将把这个请求转发给127.0.0.1:3000。
3 @' R, z( y2 M8 c
0 H; ^0 z% t3 T- F, r浏览器运行index.html文件,发起taobao.com/api/getNew请求
( f3 u! Q; |4 C2 M; ~. |8 h% c% I& O8 q
nginx接收到taobao.com/api/getNew请求请求,根据nginx的配置,将把这个请求转发给真正的淘宝服务器中。
- U7 B; A/ V$ m- Z' @
, d4 S# H' g* z: x: A- m+ n1 h淘宝服务器将数据返回给nginx,再返回给浏览器执行。 |
|