Mitomex Blog

ingress-nginx で正規表現を使う方法

2021-01-17

参考ページ:Annotations#Use Regex

ingress-nginx で正規表現を使えるようにするには annotation に

nginx.ingress.kubernetes.io/use-regex: 'true'

を追加する。

記述例

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress-srv
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: 'true'
spec:
  rules:
    - host: posts.com
      http:
        paths:
          - path: /posts/create
            backend:
              serviceName: posts-clusterip-srv
              servicePort: 4000
          - path: /posts
            backend:
              serviceName: query-srv
              servicePort: 4002
          - path: /posts/?(.*)/comments
            backend:
              serviceName: comments-srv
              servicePort: 4001
          - path: /?(.*)
            backend:
              serviceName: client-srv
              servicePort: 3000

path: /posts/?(.*)/commentspath: /?(.*) のように正規表現が使えるようになる。