【问题标题】:Kubernetes nginx ingress controller RedirectKubernetes nginx 入口控制器重定向
【发布时间】:2021-09-07 22:12:34
【问题描述】:

我在 Kubernetes 中部署了一个网站,并且入口控制器正常工作。

我需要将旧子域重定向到新子域(old.example.com -> new.example.com)。

我做了一些研究,发现我必须使用注解:

nginx.ingress.kubernetes.io/rewrite-target

我的入口文件:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: rancher-ing
  namespace: test
  annotations:
    kubernetes.io/ingress.class: "nginx"
    cert-manager.io/cluster-issuer: letsencrypt-prod
    kubernetes.io/tls-acme: "true"
    ingress.kubernetes.io/secure-backends: "true"
    ingress.kubernetes.io/ssl-redirect: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /$1

spec:
  tls:
  - hosts:
    - new.example.com
    secretName: new.example.com
  rules:
  - host: new.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: rancher-logo-service
            port:
              number: 80
  - host: old.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: rancher-logo-service
            port:
              number: 80

【问题讨论】:

  • 您遇到的问题或问题是什么?
  • 我需要添加一个从旧网址到新网址的重定向配置
  • 是的,你表明你已经尝试使用一些注释,它有效吗?你有一些错误?使用后会发生什么?
  • 不,它没有用。我没有清楚地理解文档。如果我什至没有提供新的网址,它将如何重定向。我尝试了另一个配置,但也没有用。
  • 请提供您为缓解问题所采取的所有步骤

标签: nginx kubernetes kubernetes-ingress


【解决方案1】:

我为新 url 创建了一个入口控制器配置。 并将旧配置更新为:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: rancher-ing-redirect
  namespace: test
  annotations:
    kubernetes.io/ingress.class: "nginx"
    cert-manager.io/cluster-issuer: letsencrypt-prod
    kubernetes.io/tls-acme: "true"
    ingress.kubernetes.io/secure-backends: "true"
    ingress.kubernetes.io/ssl-redirect: "true"
    nginx.ingress.kubernetes.io/rewrite-target: https://new.example.com/
spec:
  rules:
  - host: old.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: rancher-logo-service
            port:
              number: 80

【讨论】:

  • 是的。你有什么建议吗?不确定它是否是正确的答案,但它有效。
猜你喜欢
  • 2018-10-29
  • 2021-06-01
  • 1970-01-01
  • 2020-04-09
  • 2020-12-05
  • 2020-04-24
  • 2022-01-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多