【问题标题】:Enable rewrite for a particular host in ingress nginx configuration在入口 nginx 配置中为特定主机启用重写
【发布时间】:2021-03-09 12:18:08
【问题描述】:

我有下面的 ingress-nginx 配置文件。

它重写one.example.com 的请求。我添加了另一个域,但我不希望其他域发生重写。

我浏览了文档,但现在有多个主机设置的重写示例。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-service
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /$1
    certmanager.k8s.io/cluster-issuer: "letsencrypt-example-prod"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
  tls:
    - hosts:
        - one.example.com
        - two.example.com
      secretName: super-secret
  rules:
    - host: one.example.com
      http:
        paths:
          - path: /customer/?(.*)
            pathType: Prefix
            backend:
              service:
                name: customer-srv
                port:
                  number: 3000
      host: two.example.com
      http:
        paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: kube-prometheus-grafana
              port:
                number: 80

我可以为每个主机创建两个单独的入口文件。

在这种情况下会发生什么情况,它会创建两个具有不同 dns 的负载均衡器?

(集群托管在 aws 上)

【问题讨论】:

    标签: nginx kubernetes kubernetes-ingress nginx-ingress


    【解决方案1】:

    您可以创建两个单独的入口。

    在这种情况下,什么都不会改变您的入口控制器 IP 将仅与 DNS 相同。

    在这种情况下会发生什么,它将创建两个负载均衡器 不同的DNS?

    不,它不会创建两个负载平衡器。

    【讨论】:

    • 谢谢@Harsh,它会创建两个负载均衡器吗?
    • 不,它不会创建 LB。您的入口控制器只有一个 LB。
    • 我应该为每个文件都设置相同的metadata.name: ingress-service。会不会有问题?
    • 不,它会覆盖现有的,您必须使用另一个名称。
    • 很高兴听到这个消息。
    猜你喜欢
    • 2019-01-16
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 2015-10-08
    • 2019-04-30
    • 2020-08-19
    • 2018-06-21
    相关资源
    最近更新 更多