如何从入口文件中的指定路径重定向到服务的根路径

时间:2020-09-24 20:39:03

标签: redirect airflow kubernetes-ingress nginx-config nginx-ingress

我的入口定义如下;

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: webserver-ingress
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/configuration-snippet: |
     rewrite ^(/master)$ $1/ redirect;
spec:
  rules:
  - host: my.test.domain
    http:
      paths:
      - path: /master
        backend:
          serviceName: airflow-webserver-svc
          servicePort: 80

服务airflow-webserver-svc指向气流Web服务器。入口现在在GET /上命中了气流Web服务器,但是该站点从my.test.domain / master重定向到my.test.domain / home,这是气流Web服务器的登录页面,但是nginx返回了该链接上找不到的404页面:(。如果我更改入口path: /,一切正常,请转到my.test.domain打开airflow webserver / home页面,然后将其重定向到/ login页面。但是我需要从my.test.domain / master。我该怎么做?

它不会在服务内部从路径“ / master”重定向到“ /”。是 有什么方法可以从入口文件中的指定路径重定向到服务的根路径?

更新:

发现在代理(here)后面运行时,气流有其特殊的配置要执行。我应用了this解决方案,但还是没有运气。

1 个答案:

答案 0 :(得分:1)

通过使其入口保持与上述相同的方式进行工作,并将其添加到webserver部分的airflow配置中;

[webserver]
  enable_proxy_fix = True
  base_url = http://my.test.domain/master/

然后重新启动Web服务器。