美文网首页js css html
demo 7 - 修改header

demo 7 - 修改header

作者: 程序员札记 | 来源:发表于2023-01-14 09:28 被阅读0次

    Headers Operation

    • Headers为Istio提供了操作HTTP Header的途径,用于操作HTTP 请求报文中Request或者Response标头

      • headers字段支持request和response两个内嵌字段

        • request:操纵发送给Destination的请求报文中的标头

        • response:操纵发送给客户端的响应报文中的标头

      • 以上两个对应的类型都是 HeaderOperations 类型,都支持使用set、add、remove字段操纵指定的标头

        • set:使用map上的Key和Value覆盖Request或者Response中对应的Header

        • add:追加map上的Key和Value到原有 Header

        • remove:删除在列表中指定的Header

    virtualservice-demoapp.yaml

    apiVersion: networking.istio.io/v1beta1
    kind: VirtualService
    metadata:
      name: demoapp
    spec:
      hosts:
      - demoapp
      http:
      - name: canary
        match:
        - headers:
            x-canary: 
              exact: "true"
        route:
        - destination:
            host: demoapp
            subset: v11
          headers:
            request:
              set:
                User-Agent: Chrome
            response:
              add:
                x-canary: "true"
      - name: default
        headers:
          response:
            add:
              X-Envoy: test
        route:
        - destination:
            host: demoapp
            subset: v10
    

    更新demoapp vs

    # kubectl apply -f virtualservice-demoapp.yaml virtualservice.networking.istio.io/demoapp configured
    

    访问demoapp

    访问v10子集

    root@client # curl   demoapp:8080
    iKubernetes demoapp v1.0 !! ClientIP: 127.0.0.6, ServerName: demoappv10-78b6586d58-kdv4m, ServerIP: 172.20.154.195!
    
    root@client # curl  demoapp:8080/user-agent
    User-Agent: curl/7.67.0
    
    root@client # curl -I  demoapp:8080
    HTTP/1.1 200 OK
    content-type: text/html; charset=utf-8
    content-length: 116
    server: envoy
    date: Wed, 26 Oct 2022 08:51:25 GMT
    x-envoy-upstream-service-time: 2
    x-envoy: test
    

    访问v11子集

    root@client # curl  -H "x-canary: true" demoapp:8080
    iKubernetes demoapp v1.1 !! ClientIP: 127.0.0.6, ServerName: demoappv11-78bf898c74-hckjf, ServerIP: 172.20.89.189!
    
    root@client # curl  -H "x-canary: true" demoapp:8080/user-agent
    User-Agent: Chrome
    
    root@client # curl -I -H "x-canary: true" demoapp:8080
    HTTP/1.1 200 OK
    content-type: text/html; charset=utf-8
    content-length: 116
    server: envoy
    date: Wed, 26 Oct 2022 08:52:32 GMT
    x-envoy-upstream-service-time: 114
    x-canary: true
    

    参考文档

    Headers:https://istio.io/latest/zh/docs/reference/config/networking/virtual-service/#Headers

    Headers.HeaderOperations:https://istio.io/latest/zh/docs/reference/config/networking/virtual-service/#Headers-HeaderOperations

    相关文章

      网友评论

        本文标题:demo 7 - 修改header

        本文链接:https://www.haomeiwen.com/subject/mmincdtx.html