反向代理到上游
反向代理是很常用的功能,我們下面介紹下如何在 Edge Admin 中配置。
首先點選進入頁面規則頁面,在這裡新增閘道器反向代理到上游的規則。
我們先點選 新建規則
按鈕。
規則部分中的 Proxy 模組預設是關閉的,我們先點開 Proxy 模組
我們先看上游,如果沒有新增過上游 upstream
,那麼我們可以選擇新建一個上游
每一個上游都需要一個名字,以及這個上游用的協議:HTTP or HTTPS, 還可以配置主動健康檢查。 不過上游裡面主要的內容還是上游地址:
- 可以是 IP
- 也可以是域名(在閘道器 node 端,會優先使用 node 端本地 /etc/resolv.conf 裡配置的 resolver 來解析這個域名,或者使用全域性配置裡配置的 DNS resolver)
- 也可以是被代理到後端的 Host 欄位的域名(這個地址可以是動態的,跟具體的請求 相關,一般不太會用到)
一個上游裡面可以有多個後端節點,不同節點之間也可以配置不同的權重。 (會按照權重分配回源的請求量)
除了同一個上游可以有多個後端節點,我們還可以同時使用多個上游, 多個上游之間也可以配置權重,會按照權重分配回源的請求量。 結合上游內部的權重,整理效果就是:
- 請求先按照上游之間的權重分配,
- 分配到某個上游之後,再按照上游內部節點之間的權重分配
比如我們可以再新增一個灰度的上游,分配 10% 的請求量到灰度上游叢集。
我們再看條件部分,我們可以根據請求資訊來選擇不同的回源配置, 比如如上的配置,是針對 v2 版本的 API 配置,那麼我們可以這麼配置:
至此,一個簡單的代理規則就配置好了。