У меня возникают некоторые проблемы при использовании пути для указания на другой сервис Kubernetes.
Я указываю на вторичную службу, используя путь / вторичное-приложение , и в своих журналах я вижу, что я правильно достигаю эту службу.
Моя проблема в том, что любой включенный ресурс на сайте, скажем, например, / css / main.css , в конечном итоге не найден, что приводит к 404.
Вотуменьшенная версия моего входа:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
kubernetes.io/tls-acme: "true"
nginx.ingress.kubernetes.io/proxy-body-size: 50m
nginx.ingress.kubernetes.io/rewrite-target: /
name: my-app
spec:
rules:
- host: my-app.example.com
http:
paths:
- backend:
path: /
serviceName: my-app
servicePort: http
- backend:
path: /secondary-app
serviceName: secondary-app
servicePort: http
Я попробовал несколько вещей и пока не смог заставить это работать.Возможно, мне нужно что-нибудь переписать в Apache?
Любая помощь будет признательна.
Редактировать - Решение
Благодаря некоторой помощи @mk_sta я смог получить своювспомогательное приложение-служба работает с использованием аннотации nginx.ingress.kubernetes.io/configuration-snippet
, например, так:
nginx.ingress.kubernetes.io/configuration-snippet: |
if ($request_uri = '/?%secondary-app') { rewrite /(.*) secondary-app/$1 break; }
Оно все еще нуждается в некоторой настройке для моего конкретного приложения, но это работает именно так, как мне было нужно.