Задать вопрос
@trickster2019

Как настроить выдачу данных с одного домена на другом в ingress k8s?

Добрый день, мне нудно настроить ingress так чтобы результат с адреса https://s3.animori.tv/animori/public/robots.txt выдавался на адресе https://animori.tv/robots.txt, на данный момент ingress выглядит вот так
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: path-based-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/proxy-body-size: "0"
    nginx.ingress.kubernetes.io/proxy-request-buffering: "off"
    nginx.ingress.kubernetes.io/proxy-buffering: "off"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
    nginx.ingress.kubernetes.io/client-body-timeout: "300"
    nginx.ingress.kubernetes.io/proxy-next-upstream-timeout: "1800"
    nginx.ingress.kubernetes.io/proxy-max-temp-file-size: "0"
spec:
  rules:
  - host: animori.tv
    http:
      paths:
      - path: /api(/|$)(.*)
        pathType: ImplementationSpecific
        backend:
          service:
            name: ani-mori-backend-svc
            port:
              number: 8088
      - path: /
        pathType: Prefix
        backend:
          service:
            name: ani-mori-frontend-svc
            port:
              number: 80

  - host: rabbitmq.animori.tv
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: ani-mori-rabbit-mq-sf-svc
            port:
              number: 15672

  - host: minio.animori.tv
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: ani-mori-minio-sf-svc
            port:
              number: 9090

  - host: s3.animori.tv
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: ani-mori-minio-sf-svc
            port:
              number: 9000

  - host: sentry.animori.tv
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: glitchtip-svc
            port:
              number: 8000

я попробовал следующею настройку
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: path-based-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/proxy-body-size: "0"
    nginx.ingress.kubernetes.io/proxy-request-buffering: "off"
    nginx.ingress.kubernetes.io/proxy-buffering: "off"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
    nginx.ingress.kubernetes.io/client-body-timeout: "300"
    nginx.ingress.kubernetes.io/proxy-next-upstream-timeout: "1800"
    nginx.ingress.kubernetes.io/proxy-max-temp-file-size: "0"
    # Для специфических путей используем configuration-snippet
    nginx.ingress.kubernetes.io/configuration-snippet: |
      location = /robots.txt {
        proxy_pass https://s3.animori.tv/
        proxy_set_header Host s3.animori.tv;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
      }
spec:
  rules:
  - host: animori.tv
    http:
      paths:
      - path: /robots.txt
        pathType: ImplementationSpecific
        backend:
          service:
            name: ani-mori-minio-sf-svc
            port:
              number: 9000
      - path: /api(/|$)(.*)
        pathType: ImplementationSpecific
        backend:
          service:
            name: ani-mori-backend-svc
            port:
              number: 8088
      - path: /
        pathType: Prefix
        backend:
          service:
            name: ani-mori-frontend-svc
            port:
              number: 80

но при попытке перейти по https://animori.tv/robots.txt мне достраивает следующий маршрут https://animori.tv/animori/public/robots.txt и выдаёт 404, при попытке курлануть мне выйдет следующее
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>openresty</center>
</body>
</html>
  • Вопрос задан
  • 22 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик буткемп
    4 месяца
    Далее
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • Академия Eduson
    DevOps-инженер
    7 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы