使用nginx入口路径重定向到多个服务

时间:2020-05-26 13:26:45

标签: kubernetes path nginx-ingress

我有一个Azure k8s群集,我想在其中提供两项服务,詹金斯和我自己的节点应用程序。我有docker映像,它们可以正常工作。我需要访问 mydomain.com/jenkins 并查看我的Jenkins实例。 mydomain.com/node 和我的节点应用程序也是如此。

我遇到的第一个问题是我可以看到html页面,但是例如CSS尝试加载到mydomain.com/css/style.css中,而不是mydomain.com/node/css/style.css中。我使用当前的入口配置对其进行了修复:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
    annotations:
        nginx.ingress.kubernetes.io/rewrite-target: /$2
    name: ingress
spec:
  rules:
  - host: domain.com
    http:
      paths:
      - path: /(jenkins)?/?(.*)
        backend:
            serviceName: jenkins-service
            servicePort: 8080

这是我最接近的尝试。通过此配置,我可以成功访问Jenkins。但是,如果我为节点应用程序添加其他路径,即使我访问 mydomain.com/node ,它也会将我重定向到Jenkins。我知道使用子域做到这一点会容易得多,但是我特别被告知要这样做。我一整天都受不了,所以我将不胜感激。

0 个答案:

没有答案