反向代理到上游

反向代理是很常用的功能,我們下面介紹下如何在 Edge Admin 中配置。

首先點選進入頁面規則頁面,在這裡新增閘道器反向代理到上游的規則。

我們先點選 新建規則 按鈕。

規則部分中的 Proxy 模組預設是關閉的,我們先點開 Proxy 模組

我們先看上游,如果沒有新增過上游 upstream,那麼我們可以選擇新建一個上游

每一個上游都需要一個名字,以及這個上游用的協議:HTTP or HTTPS, 還可以配置主動健康檢查。 不過上游裡面主要的內容還是上游地址:

  1. 可以是 IP
  2. 也可以是域名(在閘道器 node 端,會優先使用 node 端本地 /etc/resolv.conf 裡配置的 resolver 來解析這個域名,或者使用全域性配置裡配置的 DNS resolver)
  3. 也可以是被代理到後端的 Host 欄位的域名(這個地址可以是動態的,跟具體的請求 相關,一般不太會用到)

一個上游裡面可以有多個後端節點,不同節點之間也可以配置不同的權重。 (會按照權重分配回源的請求量)

除了同一個上游可以有多個後端節點,我們還可以同時使用多個上游, 多個上游之間也可以配置權重,會按照權重分配回源的請求量。 結合上游內部的權重,整理效果就是:

  1. 請求先按照上游之間的權重分配,
  2. 分配到某個上游之後,再按照上游內部節點之間的權重分配

比如我們可以再新增一個灰度的上游,分配 10% 的請求量到灰度上游叢集。

我們再看條件部分,我們可以根據請求資訊來選擇不同的回源配置, 比如如上的配置,是針對 v2 版本的 API 配置,那麼我們可以這麼配置:

至此,一個簡單的代理規則就配置好了。