反向代理到上游
反向代理是 OpenResty Edge 閘道器的核心功能之一,本文將詳細介紹如何在 Edge Admin 中配置反向代理規則。
配置步驟
1. 進入頁面規則配置
首先進入 頁面規則 頁面,在此處新增閘道器反向代理到上游的頁面規則。
點選 新建規則
按鈕開始配置。
2. 啟用 Proxy 模組
規則配置中的 Proxy 模組預設處於關閉狀態,需要先點選展開該模組。
3. 配置上游伺服器
3.1 建立新上游
如果尚未新增過上游,可以選擇新建一個上游:
3.2 上游配置引數
上游伺服器支援以下配置選項:
基礎配置
- 名稱:上游的標識名稱
- 協議:支援 HTTP 或 HTTPS
- 健康檢查:為上游配置主動健康檢查機制
高階配置
- 作用代理主機名:將上游域名用作代理主機名
注意:啟用此選項時,僅能輸入一個以域名作為地址的上游伺服器,且代理規則中只能選擇一個上游
上游伺服器列表
一個上游可以包含多個上游伺服器,支援為不同伺服器配置權重(按權重分配回源請求量)。
上游伺服器地址支援以下格式:
- IP 地址:直接使用 IP 地址
- 域名:閘道器伺服器將使用本地
/etc/resolv.conf
配置的 resolver 或全域性配置的 DNS resolver 進行解析 - 動態 Host 欄位:使用被代理請求的 Host 欄位域名(動態地址,與具體請求相關,使用場景較少)
4. 多上游配置與權重分配
4.1 多上游權重機制
系統支援同時使用多個上游,並可為每個上游配置權重。權重分配機制如下:
- 第一層分配:請求首先按照上游間的權重進行分配
- 第二層分配:分配到特定上游後,再按照該上游內部節點間的權重進行分配
4.2 灰度釋出示例
例如,可以新增一個灰度上游:
和一個生產上游:
將 10% 的請求量分配到灰度上游,90% 的請求量分配到生產上游:
5. 配置匹配條件
還可以根據請求資訊配置不同的回源策略。例如,針對 v2 版本的 API 進行特定配置:
配置完成
按照以上步驟,一個完整的反向代理規則就配置完成了。該規則將根據設定的條件和權重,將請求智慧分發到相應的上游伺服器。