Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes Ingress Nginx在服务器代码段中使用regex_Kubernetes_Nginx Ingress - Fatal编程技术网

Kubernetes Ingress Nginx在服务器代码段中使用regex

Kubernetes Ingress Nginx在服务器代码段中使用regex,kubernetes,nginx-ingress,Kubernetes,Nginx Ingress,在location=/fhir/的服务器代码段中,我想匹配任何具有/fhir/(*)的模式,但我找不到任何好的解决方案。目前,它是完全匹配的。这对我来说很有效 位置~*“^/fhir/*”{您想在这里写什么} 这将匹配前缀为fhir的任何内容。从这里引用您能解释一下吗?给出一些预期重写结果的示例。假设如果我想点击/fhir/version或fhir/example或类似的内容,它应该匹配/fhir/location apiVersion: networking.k8s.io/v1beta1 ki

在location=/fhir/的服务器代码段中,我想匹配任何具有/fhir/(*)的模式,但我找不到任何好的解决方案。目前,它是完全匹配的。

这对我来说很有效 位置~*“^/fhir/*”{您想在这里写什么}
这将匹配前缀为fhir的任何内容。从这里引用

您能解释一下吗?给出一些预期重写结果的示例。假设如果我想点击/fhir/version或fhir/example或类似的内容,它应该匹配/fhir/location
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/auth-method: POST
    nginx.ingress.kubernetes.io/auth-response-headers: id
    nginx.ingress.kubernetes.io/auth-url: http://auth.default.svc.cluster.local:8000/authenticate
    nginx.ingress.kubernetes.io/configuration-snippet: error_page 401 /error/401;
      error_page 403 /error/403;
    nginx.ingress.kubernetes.io/rewrite-target: /$1
    nginx.ingress.kubernetes.io/server-snippet: location = /fhir/{
      auth_request /auth/; auth_request_set $id $upstream_http_id;
      proxy_pass http://pth-auth.default.svc.cluster.local:8000/authenticate; proxy_set_header x-tenant-id $id;
      proxy_method POST; error_page 401 /error/401; error_page 403 /error/403;} location = /error/401 { proxy_method
      POST; proxy_pass http://auth.default.svc.cluster.local:8000/error/401; }
      location = /error/403 { proxy_method POST; proxy_pass http://auth.default.svc.cluster.local:8000/error/403;
      } location = /auth/ { proxy_pass http://auth.default.svc.cluster.local:8000/authenticate; proxy_method POST;
      proxy_set_header x-original-method $request_method; proxy_set_header x-original-uri $request_uri;}
    nginx.ingress.kubernetes.io/use-regex: 'true'
  name: ingress-nginx
spec:
  rules:
    - http:
        paths:
          - path: /?(.*)
            backend:
              serviceName: xyz
              servicePort: 80