Другая nginx проблема перезаписи цели входа - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть одна служба и один входной ресурс с kubenetes nginx входной контроллер. Я хочу, чтобы путь /student моего URL к go к root приложения и соответствовал любым другим сегментам URL, которые следуют за student.

Например: http://example.com/student/ver должно соответствовать маршруту /ver моего приложения.

Тем не менее, мой вход всегда попадал в приложение с /student путем URL, префиксом других сегментов URL. Если я позвоню http://example.com/student/ver, мое приложение получит тот же URL (student/ver).

Мой вход:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    ingress.kubernetes.io/rewrite-target: /
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
  name: ingress-resource
spec:
  rules:
  - host: example.com
    http:
      paths:
      - backend:
          serviceName: lesson-streaming
          servicePort: 80
        path: /student

Я провел с этим несколько дней и не был успешным один раз.


Редактировать:

Вход изменен на следующий - не мои запросы говорят http 404

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    ingress.kubernetes.io/rewrite-target: /$2
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
  name: ingress-resource
  namespace: default
spec:
  rules:
  - host: example.com
    http:
      paths:
      - backend:
          serviceName: lesson-streaming
          servicePort: 80
        path: /student(/|$)(.*)

1 Ответ

2 голосов
/ 15 апреля 2020

Вы можете перейти по ссылке , чтобы правильно использовать аннотацию rewrite-target и удерживать правую клавишу nginx.ingress.kubernetes.io/rewrite-target.

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
  name: rewrite
  namespace: default
spec:
  rules:
  - host: rewrite.bar.com
    http:
      paths:
      - backend:
          serviceName: http-svc
          servicePort: 80
        path: /something(/|$)(.*)
.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...