中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

apisix~轉發(fa)到某(mou)個靜態頁(ye)

路(lu)由轉發(也稱為請求(qiu)轉發或(huo)反向(xiang)代理(li)(li)(li))是一(yi)個核心功能(neng),它(ta)允許將(jiang)客戶端的(de)(de)請求(qiu)轉發到后端服務器。Nginx 廣泛用(yong)于處理(li)(li)(li)高并發的(de)(de)請求(qiu),并能(neng)夠有效地(di)分(fen)配流量(liang)和管理(li)(li)(li)負載。以下(xia)是關于 Nginx 路(lu)由轉發的(de)(de)一(yi)些基本理(li)(li)(li)論(lun)和概念。

反向代理

通常(chang)作為反(fan)向代理服(fu)務器工作,接收來自(zi)客戶(hu)端的(de)請求,然后將這些請求轉(zhuan)發到一個(ge)或多個(ge)后端服(fu)務器。反(fan)向代理的(de)主要優(you)點包括:

  1. 負載均衡:可以將請求分發到不同的后端服務器,以平衡負載。
  2. 安全性:隱藏后端服務器的真實 IP 地址,提高安全性。
  3. 緩存:可以緩存響應結果,從而提高性能并減輕后端的壓力。
  4. SSL 終止:可以在 Nginx 中處理 SSL/TLS 加密,減少后端服務器的負擔

定義上游

{
  "nodes": [
    {
      "host": "resources.xxx.cn",
      "port": 80,
      "weight": 1
    }
  ],
  "timeout": {
    "connect": 6,
    "send": 6,
    "read": 6
  },
  "type": "roundrobin",
  "scheme": "http", 
  "pass_host": "node",
  "name": "ad",
  "keepalive_pool": {
    "idle_timeout": 60,
    "requests": 1000,
    "size": 320
  }
}

pass_host為node表示使用目標節點列表中的主機名或IP,如果pass_host為pass,表示與保持與客戶端一致的主機名

pass_host

在 Apache APISIX 中,pass_host 是一個配置選項,用于控制如何處理請求的 Host 頭部。這個選項在添加上游服務時非常重要,因為它會影響到請求轉發到上游服務時的 Host 頭部的值。pass_host 有兩個可選值:nodepass。它們之間的區別及使用場景如下(xia):

1. pass_host: node

  • 含義:當設置為 node 時,APISIX 會將請求的 Host 頭部設置為上游節點的主機名或 IP 地址。這意味著上游服務接收到的請求將包含其自身的地址作為 Host

  • 使用場景

    • 當后端服務需要知道實際請求是來自哪個客戶端,并且希望根據不同的主機名進行處理時,可以使用 pass_host: node
    • 適用于后端服務需要基于 Host 頭部進行路由或處理的場景。例如,當使用多個域名指向同一后端服務,后端可能會根據 Host 頭部來決定返回的內容或執行的邏輯。

2. pass_host: pass

  • 含義:當設置為 pass 時,APISIX 會將原始請求的 Host 頭部直接傳遞給上游服務。這意味著上游服務將看到客戶端請求的 Host 值,而不(bu)是上游節點(dian)的地址。

  • 使用場景

    • 當你希望上游服務能夠識別并處理原始請求的 Host 時,可以使用 pass_host: pass。這對于某些應用程序來說非常重要,例如需要根據不同的域名返回不同內容的微服務架構。
    • 適用于需要保持請求上下文的場景,比如 API 網關將請求轉發至多個后端服務,這些服務需要根據請求的 Host 來做進一步處理。

總結

  • pass_host: node:將 Host 設置為上游節點的地址,適合需要基于上游節點進行處理的場景,本例使用的是node
  • pass_host: pass:保留原始請求的 Host,適合需要根據客戶端請求的 Host 進行處理的場景。

定義路由規則

  • 下面規則是通用的,表示以/adc開頭的URL,被替換為/green/red開頭的URL
  • 注意:一個轉發規則,添加一個路由,如果多種轉發策略,需要為一個服務(上游)添加多個路由,regex_uri最多只有兩個元素,第1個是路徑策略正則,第2個是轉發模板
{
  "uri": "/adc/index.html",
  "name": "ad",
  "methods": [
    "GET",
    "POST",
    "PUT",
    "DELETE",
    "PATCH",
    "HEAD",
    "OPTIONS",
    "CONNECT",
    "TRACE",
    "PURGE"
  ],
  "plugins": {
    "proxy-rewrite": {
      "uri": "/green/red/index.html" # 如果是正則轉發,可以配置regex_uri數組
    }
  },
  "upstream_id": "544230536902607619",
  "status": 1
}

添加apisix中添加路由轉發

這種方法會反向關聯(lian)到(dao)mse的路由(you)列表中(zhong)

  • 在apisix的路由配置中,添加指定域名的轉發策略,轉發前綴與上面的/adc保持一致

  • 當你在apisix的網絡-路由中添加了對接的域名轉發策略之后,在mse網關上,通過路由 模塊,也可以看到之前添加的轉發策略

在MSE中添加路由轉發

  • 為你的目標服務在mse中添加服務,如apisix-gateway這個服務

  • 在mse中添加路由,指定真實域名,轉發策略,上游服務等,發布路由后可正常工作

posted @ 2024-12-12 08:53  張占嶺  閱讀(399)  評論(0)    收藏  舉報