|NO.Z.00356|——————————|CloudNative|——|KuberNetes&运维.V72|——|IngressNginx.v08|匹配请求头|

一、IngressNginx匹配请求头概述
### --- 匹配请求头:

~~~     可以根据不同的用户,不同的客户端分发到不同的后端服务
~~~     可以做一些灰度或者区分web端和手机端请求区别
二、IngressNginx匹配请求头实验
### --- 配置ingress-block.yaml文件
~~~     修改配置文件

[root@k8s-master01 ~]# cat ingress-block.yaml 
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    nginx.ingress.kubernetes.io/server-snippet: |2-
              set $agentflag 0;

              if ($http_user_agent ~* "(iPhone)" ){
                set $agentflag 1;
              }

              if ( $agentflag = 1 ) {
                return 301 https://www.baidu.com;
              }
  name: ingress-test
  namespace: ratel-test1
spec:
  rules:
  - host: rewrite.test.com
    http:
      paths:
      - backend:
          serviceName: ingress-test
          servicePort: 80
        path: /something(/|$)(.*)
        pathType: ImplementationSpecific
三、通过浏览器访问该域名:http://rewrite.test.com/:说明是可以正常访问的
### --- 通过浏览器访问该域名:http://rewrite.test.com/:说明是可以正常访问的

~~~     ——>F12——>ctrl+shift+M:选择设备类型:iPhonex——>刷新
~~~     ——>刷新后匹配了请求头,是iPhone就跳转到百度

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on 2022-04-01 13:24  yanqi_vip  阅读(59)  评论(0)    收藏  举报

导航