nginx - 在 ingress nginx 配置中为特定主机启用重写

标签 nginx kubernetes kubernetes-ingress nginx-ingress

我有以下 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 上)

最佳答案

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

在这种情况下,任何内容都不会改变您的入口 Controller IP 仅对于 DNS 而言是相同的。

What will happen in that case it will create two load balancers with different dns?

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

关于nginx - 在 ingress nginx 配置中为特定主机启用重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66546725/

相关文章:

kubernetes - Istio路由端口规范

kubernetes - 如何使用 Nginx Ingress 公开 Kubernetes Dashboard?

kubernetes - Openshift重新加密TLS终止路由无效。应用程序不可用

css - 防止 IE 中止具有错误 MIME 类型的图像

security - 保护 Elasticsearch

php - Nginx/PHP : Nginx is not returning a 304 response when sending Etag header

bash - 在kubernetes中创建一个可以运行GNU屏幕的Pod

kubernetes - k8s入口nginx为每个域设置重写目标

NGINX 缓存静态文件

kubernetes azure 节点超过最大卷数