如果访问一些不存在的路径或域名,就会抛出404的异常页面。对于生产环境,这个提示并不友好,会暴露Nginx的版本号

我们可以利用Nginx的错误代码重定向功能,将某些错误代码(比如404、403、503)重定向到一个固定的页面。下面演示当访问链接返回值为404、503等错误时,如何自动跳转到自定义的错误页面:
1.修改 values.yaml
[root@k8s-master01 ~]# cd ingress-nginx
[root@k8s-master01 ingress-nginx]# vim values.yaml
修改defaultbackend处enabled:false为enabled:true
defaultBackend:
enabled: true

更新 ConfigMap
config:
apiVersion: v1
client_max_body_size: 20m
custom-http-errors: "404,415,503"

3.更新 Release
[root@k8s-master01 ingress-nginx]# helm upgrade ingress-nginx -n ingress-nginx .
4.更新后 Pod 会自动重启,并且会创建一个 defaultbackend:
[root@k8s-master01 ingress-nginx]# kubectl get po -n ingress-nginx
5.更新完成以后访问一个不存在的页面,比如之前定义的 nginx.test.com。访问一个不存在的 页面 123,就会跳转到 Error Server 中的页面
[root@k8s-master01 ingress-nginx]# curl nginx.test.com/123
default backend - 404
当然,你也可以打开浏览器,输入nginx.test.com/123查看404页面不会报nginx版本号
