Kubernetes nginx -Направить обратный прокси некоторые пути - PullRequest
0 голосов
/ 30 января 2020

Я пытаюсь реверсировать прокси, используя nginx -ingress.

, но я не могу найти способ применить реверсивный прокси только к определенным путям

например, я хочу применить реверс прокси http://myservice.com/about/* из CDN stati c ресурсы

и другие пути обслуживают мою службу (например, это означает службу my-service-web)

может быть, в терминах k8s, CDN означает "publi c external service"

в результате,

вот мой файл ingress.yaml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: my-service-web
  namespace: my-service
  annotations:
    kubernetes.io/ingress.class: nginx-ingress
    nginx.ingress.kubernetes.io/server-snippet: |
      location ~ /about/(.*) {

        proxy_pass  https://CDN_URL/$1${is_args}${args};

        ......and other proxy settings
      }

spec:  
  rules:
    - host: myservice.com
      http:
        paths:
          - path: /about
            ........how do i configuration this?
          - path: /*
            backend:
              serviceName: my-service-web
              servicePort: 80

как установить правила и аннотации?

1 Ответ

1 голос
/ 30 января 2020

Вы можете создать службу с типом externalName , которая будет указывать на вашу внешнюю службу (CDN), и это хорошо объяснено в этом блоге , например:

apiVersion: v1
kind: Service
metadata:
  name: my-service
  namespace: my-service
spec:
 type: ExternalName
 externalName: FQDN

, а затем используйте его в правилах входа, ссылаясь на имя службы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...