日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

【Host Rewrite】重寫請求Authority和Host標頭

ASM支持在HTTP請求發往具體的服務主機前,重寫請求的Authority和Host標頭。如果通過虛擬服務將請求重定向到其它服務,還需要配置重寫Host與Authority標頭使目標服務接受請求。本文介紹如何配置重寫請求的Authority和Host標頭。

前提條件

已完成準備工作,并部署httpbin服務、sleep服務和nginx服務。具體操作,請參見準備工作

操作步驟

  1. 使用istioctl工具,執行以下命令,為nginx服務部署Waypoint代理。

    istioctl x waypoint apply --service-account nginx

    預期輸出:

    waypoint default/nginx applied
  2. 為nginx服務配置虛擬服務,將發往nginx服務的請求轉發至httpbin服務,同時配置重寫Host和Authority標頭為httpbin:8000

    1. 登錄ASM控制臺,在左側導航欄,選擇服務網格 > 網格管理

    2. 網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇流量管理中心 > 虛擬服務,然后單擊創建

    3. 創建頁面,進行如下配置,單擊預覽,確認YAML內容無誤后,單擊確認,然后單擊創建

      image.png

      展開查看預覽YAML

      apiVersion: networking.istio.io/v1beta1
      kind: VirtualService
      metadata:
        name: nginx
        namespace: default
      spec:
        hosts:
          - nginx.default.svc.cluster.local
        http:
          - rewrite:
              authority: 'httpbin:8000'
            route:
              - destination:
                  host: httpbin.default.svc.cluster.local
  3. 執行以下命令,驗證標頭重寫是否生效。

    kubectl exec -it deploy/sleep -- curl nginx:8000/headers

    預期輸出:

    {
      "headers": {
        "Accept": "*/*", 
        "Host": "httpbin:8000", 
        "User-Agent": "curl/8.1.2"
      }
    }

    可以看到在sleep容器內部訪問nginx服務的/headers路徑,請求被轉發到httpbin服務的/headers路徑上(即請求發往http://httpbin:8000/headers)。該路徑會返回接收到的請求標頭,您可以看到請求的Host標頭被修改為httpbin:8000

    重要

    在Ambient模式下,若您需要重寫請求的Authority和Host標頭,將發往目標服務1的請求轉發到目標服務2,則目標服務2不能部署Waypoint代理。