🔌 第五章 服务器端的局域网中有什么玄机
📄 一句话概括

把代理搬到服务器一侧就是反向代理:对客户端完全透明,看起来就是 Web 服务器——5.4.1 的缓存服务器正是它的典型,顺手还能做负载均衡。

📝 本节和前面几节的关系

5.4.3 的代理在客户端侧;本篇把它搬到服务器侧。

一、站在服务器侧

浏览器以为自己在访问 Web 服务器, 实际访问的是反向代理——它再转发给内部真实服务器; 客户端零设置、无感知。

二、一物三用

缓存(5.4.1 的缓存服务器就是典型)、 负载均衡(转发时把请求分给多台)、 安全屏障(真实服务器不直接暴露)。

三、动手 Demo:反向代理

把代理搬到服务器一侧,就成了反向代理:

for s in ['浏览器 -> 反向代理(看起来就是 Web 服务器) -> 内部服务器']:
    print(s)
print()
print('客户端完全无感知——缓存服务器就是它的典型')
print('副业:把请求分给多台服务器,就成了负载均衡器')

实跑输出:

--------------------------------------------------------------------
反向代理
--------------------------------------------------------------------
  把代理搬到**服务器一侧**,就成了反向代理:

    浏览器 -> 反向代理(看起来就是 Web 服务器) -> 内部服务器

  客户端完全无感知——上一节的**缓存服务器**就是它的典型。

  顺手的副业:在代理上把请求分给多台服务器,
  反向代理就成了负载均衡器(5.3)。

至此 5.3 与 5.4 两节打通了:负载均衡器与缓存服务器, 某种意义上是同一个位置的两种人格。

30 秒实验

  1. 用【谁受益】口诀分辨正向与反向代理。
  2. 想想反向代理怎么兼任负载均衡器。
  3. 查查 Nginx 作为反向代理的用法。

常见误区

  1. 以为反向代理要客户端设置——恰恰零设置。
  2. 以为它与负载均衡器是两种不相干设备——可以是同一个东西。
自测三问(点开对答案) 1. 反向代理站哪一侧? —— 服务器一侧。 2. 客户端需要设置吗? —— 不需要,完全透明。 3. 缓存服务器属于哪类代理? —— 反向代理。

相关笔记