Kubernetes NGINX Ingress 控制器默认页面/重定向

Kubernetes NGINX Ingress 控制器默认页面/重定向

我想知道是否有办法改变 nginx 入口控制器的行为,使其不显示 404 页面,而是显示另一个网页或进行重定向?遗憾的是你无法做到这一点

  • 主持人: ”*”

由于它不是一个有效的子域定义,因此可以实现相同的目的。

任何帮助深表感谢!

(使用此处的入口控制器:k8s.gcr.io/ingress-nginx/controller(Docker 镜像))

答案1

好吧,在非微服务世界中,当您使用 nginx 时,您可以选择将所有 HTTP 请求放在具有defaultlisten 风格的主机上。由于 k8s 环境中的入口控制器基本上仍然是具有一些附加功能的 nginx 服务器,因此您可以做同样的事情,但这次您必须自定义部署的控制器。

瞧,开箱即用的控制器仍然具有此default功能,并且正是这个东西提供了您看到的 404 页面。它甚至解释了在官方文档中

有一种记录不全的方法这里,但我会选择克隆和自定义上游本身。

答案2

对于将来对此感到疑惑的人:

您可以像下面这样定义 Ingress,以便对默认 nginx 进行全部捕获。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-ingress-name
spec:
  ingressClassName: nginx
  rules:
  - http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: my-service-name
            port:
              number: 8080

相关内容